📘 Excel逆引き事典

【VBA】CSVファイルの完全一致抽出方法

手作業でCSVファイルから特定のデータを抽出するのは時間がかかります。この記事では、簡単なVBAコードを使って効率的に完全一致で抽出する方法をお伝えします。

サンプルコード

VBA
Option Explicit
Sub CSVExtract()
    Dim ws As Worksheet, csvWs As Worksheet
    Dim lastRow As Long, i As Long, targetValue As String
    Set ws = ThisWorkbook.Sheets("Sheet1")
    Set csvWs = Workbooks.Open(ThisWorkbook.Path & "\sample.csv").Sheets(1)
    Application.ScreenUpdating = False
    targetValue = InputBox("完全一致で抽出する値を入力してください", "抽出条件")
    lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
    For i = 2 To csvWs.Cells(csvWs.Rows.Count, 1).End(xlUp).Row
        If csvWs.Cells(i, 1) = targetValue Then
            ws.Cells(lastRow + 1, 1) = csvWs.Cells(i, 1)
            lastRow = lastRow + 1
        End If
    Next i
    Application.ScreenUpdating = True
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

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