CSVファイルとは、Comma Separated Values ファイル(コンマで区切られた値)の略で、異なるシステム間でデータをやり取りするときに多く使われます。
エクセルからCSVファイルの作成は、1種類ならそんなに面倒くさくもないですけど、枚数が多くなると、意外と面倒ですよね。
エクセルVBAでCSVファイルを書き出す方法って意外と簡単です。ただ、意外とどんなシーンでも応用が効くCSVの書き方って見つからなかったんですよね。
そこで、エクセルデータからCSVファイルを書き出すコードを書いてみました。
下記では、10行8列の場合に、data.CSVという
CSVファイルを書き出します。
もし行数や列数、ファイル名を変更したい場合でも
簡単に変更できます。
Sub writeCSV()Dim csvFile As String
‘ファイル名変更の際は、”\data.csv”のdataの部分を Open csvFile For Output As #1 Dim i As Long ‘行数を変更する場合は、”K=3″などに変更して下さい。 ‘列数を変更する場合は、For j = 1 to 7の For j = 1 To 7 Print #1, Worksheets(“sheet1”).Cells(i, j).Value & vbCrLf; Close #1 MsgBox “data.csvに書き出しました” End Sub |
Windowsの場合は上記で動きますが、
Macの場合は、改行を示すvbCrLf;をvbCr;に
変更しないと改行ができませんのでご注意下さい。
ワークすることを確認したエクセルもここに置いておきます。
https://www.dropbox.com/sh/6p8ltj4s3klfuhv/AACI0H5Yd04QF5LNzUdJP0u8a?dl=0