【エクセルマクロ】配列をCSV出力する:動画あり

vba-配列をCSV出力-アイキャッチ ExcelVBA

エクセルマクロで、配列を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自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!