戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 親トピックをトピックトップへ ]
このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 

このトピック参照回数 :
Re[1]: CSVファイルへの列挿入と転記

    [195685] Re[1]: CSVファイルへの列挿入と転記-

    記事引用/メール受信=OFF■

    □投稿者/ kazuo -(2023/04/06(13:07))
    □U R L/

      教えて下さい。
      1.CSVファイルの文字コードはなんですか?
      中身はどんな値ですか?3行でよいので形式が解るよう記載下さい。
      例)
      串山,1,2023/04/06
      ,2
      "abc","def,hij"

      保存する際注意することはありますか?
      上記をexcelで読み込み保存すると、
      串山,1,2023/4/6
      ,2,
      abc,"def,hij",
      と変換されてしまいます。
      (1行目:月日の0が消える
      2行目、3行目:3列目が追加される
      3行目:1列目の""が消える)
      問題ありませんか?

      2.変更前のcsvの値と処置後のcsvの値を3行で良いので記載下さい。
      例)串山さんの手順だと以下になりますが合っていますか?
      変更前
      串山,1
      串山,2
      串山,3

      変更後
      One,串山,1
      2,串山,2
      2,串山,3




    [195684] CSVファイルへの列挿入と転記-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ 串山 -(2023/04/06(12:17))
    □U R L/
      こんにちは。またお世話になります。
      現在、以下のマクロを作っております。
      CSVファイルの処理が分からず、自分なりに作ってみましたが、上手く行かずです。
      a列への転記部分でエラーが出ますが、何がおかしいのか分からず困ってます。
      スクリプトを下記に載せますので、アドバイスお願いします
      
      1 マクロ直下フォルダcsvoにある複数CSVファイルにa列を挿入
      2 その後a2セルからa列セルの最下行までc2セルの値を貼り付け
      3 a1セルにはOneと記入
      
      
      Sub AddColumnAndCopyValue()
      
          'CSVファイルのパス
          Dim FilePath As String
          FilePath = ThisWorkbook.Path & "\csvo\"
          
          'CSVファイルをループで処理
          Dim filename As String
          filename = Dir(FilePath & "*.csv")
          While filename <> ""
              'CSVファイルを開く
              Workbooks.Open Filename:=FilePath & filename
              
              'A列にOneと記入
              Range("A1").Value = "One"
              
              'A列を挿入
              Range("A2").EntireColumn.Insert
              
              'B列の行数を取得
              Dim lastRow As Long
              lastRow = Cells(Rows.Count, "B").End(xlUp).Row
              
              'C2の値をA2からA列の最後の行にコピー
              Range("C2").Copy Range("A2:A" & lastRow)
              
              'CSVファイルを保存して閉じる
              ActiveWorkbook.Save
              ActiveWorkbook.Close
              
              '次のCSVファイルを処理するためにループで取得
              filename = Dir
          Wend
          
      End Sub
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他



      ++++++++++++++++++++
      OS      ⇒OTHER
      Version⇒OTHER
      ++++++++++++++++++++



このトピック内容の全ページ数 / [0]

- Child Forum -
Edit:ゆう-G