Excel VBAでCSVファイルを作成するマクロを書いて
2023-03-08
以下は、Excel VBAでCSVファイルを作成するマクロの例です。このマクロでは、現在のExcelブックのデータをCSV形式で保存します。
Sub ExportToCSV() Dim MyFile As String Dim i As Integer, j As Integer Dim cellValue As String ' CSVファイルの保存先とファイル名を指定 MyFile = ThisWorkbook.Path & "\" & ThisWorkbook.Name & ".csv" ' CSVファイルを開く Open MyFile For Output As #1 ' Excelの各行と列のデータをCSVファイルに書き込む For i = 1 To ActiveSheet.UsedRange.Rows.Count For j = 1 To ActiveSheet.UsedRange.Columns.Count cellValue = ActiveSheet.Cells(i, j).Value ' 文字列内にカンマがある場合はダブルクォーテーションで囲む If InStr(cellValue, ",") > 0 Then cellValue = """" & cellValue & """" End If ' カンマ区切りでCSVファイルに書き込む If j = 1 Then Print #1, cellValue; Else Print #1, "," & cellValue; End If Next j ' 改行する Print #1, "" Next i ' CSVファイルを閉じる Close #1 End Sub
このマクロでは、以下の処理を行います。
CSVファイルの保存先とファイル名を指定します。
CSVファイルを開きます。
Excelの各行と列のデータを読み取り、カンマ区切りでCSVファイルに書き込みます。文字列内にカンマがある場合は、ダブルクォーテーションで囲んで書き込みます。
CSVファイルを閉じます。
上記のマクロを実行すると、現在のExcelブックのデータがCSV形式で保存されます。