このトピックに書きこむ |
---|
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 ++++++++++++++++++++ |