📘 Excel逆引き事典

【VBA】CSVファイルを確認メッセージを出さずに転記する方法

日々の業務で大量のCSVファイルからデータを取り込む作業は大変です。特に、確認メッセージが出るたびに手動で「OK」を押す必要があると効率が悪くなります。この記事では、VBAを使用してCSVファイルのデータをExcelシートに転記する方法を紹介します。さらに、確認メッセージを表示させずに高速化するための設定も説明します。

サンプルコード

VBA
Option Explicit
Sub CSVToSheet()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("CSVData")
    
    ' 警告メッセージを非表示にする
    Application.DisplayAlerts = False
    
    ' ファイルの読み込み
    With ws.QueryTables.Add(Connection:="TEXT;C:\path\to\yourfile.csv", Destination:=ws.Range("A1"))
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextLoop = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
    
    ' データ読み込み後の処理
    ws.UsedRange.Columns.AutoFit
    Application.DisplayAlerts = True
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

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