スポンサーリンク

VBAでエクセルのデータを抽出・検索!初心者向けコード集

スポンサーリンク
VBAとは?
スポンサーリンク

VBAでエクセルのデータを抽出・検索!初心者向けコード集

スポンサーリンク

1. VBAとは?

VBA(Visual Basic for Applications)は、Microsoft Excelの作業を自動化できるプログラミング言語です。

✅ VBAを使うメリット

  • データの検索・抽出を一瞬で実行!
  • フィルターや条件付き検索を自動化!
  • 大量データの処理が楽に!
  • 業務の効率を大幅に向上!

💡 VBAを活用すれば、データ管理がより簡単に、正確に行えます!


2. VBAでデータを検索する基本コード

🔹 ① シンプルなデータ検索(特定の値を探す)

📌 A列から「検索ワード」を探し、見つかったセルを選択する

Sub SearchValue()
    Dim ws As Worksheet
    Dim searchValue As String
    Dim result As Range
    
    searchValue = InputBox("検索する値を入力してください")
    Set ws = ActiveSheet
    
    Set result = ws.Range("A:A").Find(searchValue, LookAt:=xlWhole)
    
    If Not result Is Nothing Then
        result.Select
        MsgBox "値が見つかりました! セル: " & result.Address
    Else
        MsgBox "値が見つかりませんでした"
    End If
End Sub

実行すると、検索した値があるセルを選択し、見つからなかった場合はメッセージが表示されます!


🔹 ② 指定範囲のデータを抽出(別シートにコピー)

📌 「A列の値が100以上」のデータをSheet2に抽出する

Sub ExtractData()
    Dim ws As Worksheet, wsNew As Worksheet
    Dim rng As Range, cell As Range
    Dim rowNum As Integer
    
    Set ws = ActiveSheet
    Set wsNew = Sheets("Sheet2")
    Set rng = ws.Range("A2:A100") '検索範囲
    rowNum = 2
    
    wsNew.Cells.Clear 'シートをクリア
    wsNew.Range("A1").Value = "抽出データ"
    
    For Each cell In rng
        If cell.Value >= 100 Then
            wsNew.Cells(rowNum, 1).Value = cell.Value
            rowNum = rowNum + 1
        End If
    Next cell
    
    MsgBox "データ抽出が完了しました!"
End Sub

実行すると、A列の100以上のデータがSheet2にコピーされます!


🔹 ③ 部分一致でデータを検索する

📌 A列のデータの中から「検索ワード」を含むセルを見つける

Sub SearchPartialMatch()
    Dim ws As Worksheet
    Dim searchValue As String
    Dim result As Range
    
    searchValue = InputBox("検索するキーワードを入力してください")
    Set ws = ActiveSheet
    
    Set result = ws.Range("A:A").Find(searchValue, LookAt:=xlPart)
    
    If Not result Is Nothing Then
        result.Select
        MsgBox "キーワードが含まれるデータが見つかりました! セル: " & result.Address
    Else
        MsgBox "該当するデータが見つかりませんでした"
    End If
End Sub

実行すると、部分一致するデータを見つけ、該当セルを選択します!


3. VBAでフィルターを使ったデータ抽出

🔹 ④ オートフィルターを適用し、条件に合ったデータを抽出

📌 「B列の値が200以上」のデータだけを表示する

Sub ApplyFilter()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    
    ws.Range("A1:B100").AutoFilter Field:=2, Criteria1:=">=200"
    MsgBox "フィルターを適用しました!"
End Sub

実行すると、B列の値が200以上の行だけが表示されます!

📌 フィルターを解除するコード

Sub RemoveFilter()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    
    If ws.AutoFilterMode Then
        ws.AutoFilterMode = False
    End If
    MsgBox "フィルターを解除しました!"
End Sub

実行すると、適用されたフィルターが解除されます!


4. VBAを活用したデータ抽出の実践テクニック

活用シーンVBAでできること
商品リストの管理指定条件のデータを別シートに抽出
顧客データの検索キーワードで一致する情報を検索
売上データの整理売上額が一定以上のデータを抽出
フィルタリング指定条件に基づいてデータを絞り込み
重複データの検出特定列の重複を探してリストアップ

💡 VBAを活用すれば、エクセルのデータ処理がもっとスムーズになります!


5. まとめ

VBAを使えば、データの検索・抽出を一瞬で実行できる!部分一致検索・オートフィルター・条件抽出が簡単に可能!業務の効率化に役立つコードを活用して、作業を自動化!VBAを活用して、エクセルのデータ管理をよりスマートに!

💡 VBAをマスターすれば、膨大なデータの処理も簡単にこなせます!🚀

コメント

タイトルとURLをコピーしました