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をマスターすれば、膨大なデータの処理も簡単にこなせます!🚀
コメント