エクセルVBAでCSVファイルを簡単に書き出す方法

  • このエントリーをはてなブックマークに追加
  • Pocket

エクセルVBAでCSVファイルを書き出す方法って意外と簡単です。

下記では、10行8列の場合に、data.CSVという
CSVファイルを書き出します。
もし行数や列数、ファイル名を変更したい場合でも
簡単に変更できます。
 
 

 
 

Sub writeCSV()

Dim csvFile As String

‘ファイル名変更の際は、”\data.csv”のdataの部分を
‘任意の文字列(”\xxx.csv”)に変更して下さい。
csvFile = ActiveWorkbook.Path & “\data.csv”

Open csvFile For Output As #1

Dim i As Long
Dim j As Long
Dim k As Long
Dim l As Long

‘行数を変更する場合は、”K=3″などに変更して下さい。
k = 10

‘列数を変更する場合は、For j = 1 to 7の
‘7を任意の数字に変更して下さい。
For i = 1 To k

For j = 1 To 7
Print #1, Worksheets(“sheet1”).Cells(i, j).Value & “,”;
Next j

Print #1, Worksheets(“sheet1”).Cells(i, j).Value & vbCrLf;
Next i

Close #1

MsgBox “data.csvに書き出しました”

End Sub

Windowsの場合は上記で動きますが、
Macの場合は、改行を示すvbCrLf;をvbCr;に
変更しないと改行ができませんのでご注意下さい。
 
 
 
ワークすることを確認したエクセルもここに置いておきます。
https://www.dropbox.com/sh/6p8ltj4s3klfuhv/AACI0H5Yd04QF5LNzUdJP0u8a?dl=0

  • このエントリーをはてなブックマークに追加
  • Pocket

SNSでもご購読できます。

コメントを残す

*

CAPTCHA