VBA:ExcelのデータをCSVで出力する方法
1.やりたいこと
ExcelのデータをCSVファイルとして出力したい。
このようなシートのデータをCSVとして出力したい。
このようなCSVファイルが出力されます。
2.サンプルコード
以下のサンプルコードを実行するとCSVが出力されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
Sub 実行Main() Dim OutputPath As String '出力するCSVのパス' OutputPath = "C:\Users\xxxx\test.csv" Call CSV出力(OutputPath) End Sub '************************************' 'CSVファイルとして出力' '************************************' Function CSV出力(OutputPath As String) Dim Target As String Dim LastRow As Long Dim LastColumn As Long Dim i As Long Dim j As Long Dim buf As String With Sheets("加工データ") LastRow = .Cells(Rows.Count, 1).End(xlUp).Row LastColumn = .Cells(1, Columns.Count).End(xlToLeft).Column End With Target = OutputPath & Format(Now(), "yyyymmdd") & ".csv" With CreateObject("ADODB.Stream") .Charset = "UTF-8" '出力形式の指定。"Shift-JIS"等' .Open For i = 1 To LastRow buf = "" For j = 1 To LastColumn buf = buf & Sheets("加工データ").Cells(i, j) & "," Next j .WriteText Left(buf, Len(buf) - 1), 1 Next i .SaveToFile Target, 2 .Close End With End Function |