Sub TEST1()
'CSVを開く
Workbooks.Open ThisWorkbook.Path & "\TEST\TEST1.csv"
'「xlsx」形式で保存
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\TEST\TEST1.xlsx", xlOpenXMLWorkbook
ActiveWorkbook.Close 'ブックを閉じる
End Sub
やりたい内容は、CSVをExcelブックに変換したい、ということになります。
CSVをExcelブックに変換したい
CSVをExcelブックに変換したいです。
変換するCSVファイルです。
実行すると、Excelブックに変換することができます。
Excelブックに変換
Excelブックの中身を確認してみます。
Excelブックの中身を確認
CSVデータを、Excelブックに変換できています。
複数CSVファイルをExcelブックに変換
次は、「複数」のCSVファイルをExcelブックに変換する、というのをやってみます。
複数CSVファイルをExcelブックに変換したい
やりたい内容は、複数CSVファイルをExcelブックに変換したい、ということになります。
複数のCSVをExcelに変換したい
変換するCSVファイルは、次のようになっています。
変換するCSVファイル
1つ目のCSVファイルです。
2つ目のCSVファイルです。
3つ目のCSVファイルです。
では、複数CSVファイルを、Excelブックに変換してみます。
Dir関数を使って1つのCSVをExcelに変換
複数のCSVファイルをExcelブックに変換するには、「Dir関数」を使います。
まずは、フォルダ内の1つのCSVファイルを、Excelブックに変換してみます。
手順としては、
フォルダ内の1つのCSVファイル名をDir関数で取得
取得したCSVを開く
「.xlsx」形式で名前を付けて保存する
ブックを閉じる
という流れになります。
Sub TEST2()
Dim A
'フォルダ内のCSVファイルを1つ取得
A = Dir(ThisWorkbook.Path & "\TEST\*.csv")
'CSVファイルを開く
Workbooks.Open ThisWorkbook.Path & "\TEST\" & A
'「.xlsx」形式で保存
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\TEST\" & Replace(A, ".csv", ".xlsx"), xlOpenXMLWorkbook
ActiveWorkbook.Close 'ブックを閉じる
End Sub
Sub TEST3()
Dim A
'フォルダ内のCSVファイルを1つ取得
A = Dir(ThisWorkbook.Path & "\TEST\*.csv")
'フォルダ内のブックをループ
Do While A <> ""
'CSVファイルを開く
Workbooks.Open ThisWorkbook.Path & "\TEST\" & A
'「.xlsx」形式で保存
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\TEST\" & Replace(A, ".csv", ".xlsx"), xlOpenXMLWorkbook
ActiveWorkbook.Close 'ブックを閉じる
A = Dir() '次のCSVファイル名を取得
Loop
End Sub