エクセルマクロで、配列をCSV出力するVBAコードをご紹介します。
一次元配列と二次元配列の書き出し方法を掲載しています。
ぜひお試しください!
配列をCSV出力(一次元配列)
以下のマクロを実行すると、1次元配列をCSVへ出力します。
Sub 配列をCSV書き出し()
Dim i As Long
Dim A() As Variant
Dim wb As Workbook
Dim Buf As String
'一次元配列
A = Array("みかん", "めろん", "いちご", "きゃべつ", "れもん")
'CSVのファイル名
Buf = "テスト"
'新規エクセル作成
Workbooks.Add
Set wb = ActiveWorkbook
'配列をループ
Application.ScreenUpdating = False
For i = 0 To UBound(A)
'配列の中身を転記
wb.ActiveSheet.Cells(i + 1, 1) = A(i)
Next i
Application.ScreenUpdating = True
Application.DisplayAlerts = False
'CSVで保存
wb.SaveAs Filename:="C:\Users\Admin" & "\" & Buf & ".csv", FileFormat:=xlCSV
'CSVを閉じる
wb.Close
Application.DisplayAlerts = True
End Sub
マクロ実行後
エクセルを新規作成して、CSVファイルで保存します。
CSVファイルの中身は、一次元配列を出力したものです。
配列をCSV出力(二次元配列)
以下のマクロを実行すると、2次元配列をCSVへ出力します。
Sub 配列をCSV書き出し()
Dim i As Long
Dim j As Long
Dim MyList() As Variant
Dim wb As Workbook
Dim Buf As String
Dim Cnt As Long
'二次元配列
ReDim Preserve MyList(2, 2)
'配列に要素を格納
MyList(0, 0) = "りんご"
MyList(0, 1) = "いちご"
MyList(0, 2) = "さくらんぼ"
MyList(1, 0) = "ばなな"
MyList(1, 1) = "ぱぱいや"
MyList(1, 2) = "ぱいなっぷる"
MyList(2, 0) = "おれんじ"
MyList(2, 1) = "みかん"
MyList(2, 2) = "ぽんかん"
'CSVのファイル名
Buf = "テスト2"
Cnt = 1
'新規エクセル作成
Workbooks.Add
Set wb = ActiveWorkbook
'配列をループ
Application.ScreenUpdating = False
For i = 0 To UBound(MyList, 1)
For j = 0 To UBound(MyList, 2)
'配列の中身を転記
wb.ActiveSheet.Cells(Cnt, 1) = MyList(i, j)
Cnt = Cnt + 1
Next j
Next i
Application.ScreenUpdating = True
Application.DisplayAlerts = False
'CSVを保存
wb.SaveAs Filename:="C:\Users\Admin" & "\" & Buf & ".csv", FileFormat:=xlCSV
'CSVを閉じる
wb.Close
Application.DisplayAlerts = True
End Sub
マクロ実行後
エクセルを新規作成して、CSVファイルで保存します。
CSVファイルの中身は、二次元配列を出力したものです。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】配列処理を自動化する使用例まとめ
【エクセルマクロ】配列処理を自動化する:使用例16選
...
「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!
リンク