📘 Excel逆引き事典

【VBA】CSVファイルを開かずに別ブックとして保存する方法

日々の業務で大量のCSVデータを取り扱っていると、一つ一つを開いてから操作するのは時間がかかります。この記事では、VBAを使用してCSVファイルを直接開かずに外部参照として別のExcelブックに保存する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub CSVToWorkbook()
    Dim ws As Worksheet, wb As Workbook
    Dim csvPath As String, savePath As String
    
    'CSVファイルのパスと保存先パスを指定
    csvPath = "C:\path\to\yourfile.csv"
    savePath = "C:\path\to\saveWorkbook.xlsx"
    
    Set wb = Workbooks.Add
    With wb.Worksheets(1)
        .Range("A1").Formula = "='" & csvPath & "'!A1"
        '必要に応じて他の範囲も参照設定する
    End With
    
    Application.ScreenUpdating = False
    wb.SaveAs savePath, FileFormat:=xlOpenXMLWorkbook
    Application.ScreenUpdating = True
End Sub

よくある質問

Q 元に戻せますか?

A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。