【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.
シート名や列番号が正しいか確認してください。