Excelで大量のデータを扱っていると、「特定のキーワードを探すのに時間がかかる」「どのシートに情報があるのかわからない」といった悩みが出てきます。
手動で「Ctrl+F」検索を繰り返すのは時間がかかり、シートが多いファイルではミスの原因にもなります。
こうした問題を根本的に解決できるのが「Excel検索ツール」です。
VBA(マクロ)を使って自作すれば、ボタン1つで複数シート・複数ブックを横断して検索できる仕組みを構築できます。
さらにRPA(ロボティック・プロセス・オートメーション)を組み合わせることで、複数のExcelファイルを自動的に検索・抽出・一覧化する完全自動フローも実現可能です。
この記事では、初心者でも作れるExcel検索ツールの作り方と、RPAでの自動化手順をわかりやすく解説します。
目次
- ・なぜExcel検索ツールを作るべきなのか
- ✅ Excel検索ツールの基本構造を理解する
- ・基本動作の流れ
- ✅ ステップ1:基本マクロの作成
- ・基本コード
- ・実行方法
- ✅ ステップ2:検索機能を強化する
- ・1. 複数キーワード検索
- ・2. 大文字小文字を区別しない検索
- ・3. 完全一致モードの追加
- ・4. 非表示シート・保護シートも検索対象に
- ・5. 検索結果をCSVに出力
- ✅ ステップ3:RPAで検索ツールを自動実行
- ・RPAによる自動検索フロー
- ・RPA化によるメリット
- ✅ 実務での応用例
- ・営業部門
- ・経理部門
- ・総務・法務部門
- ・情報システム部門
- ✅ 導入時の注意点
- ✅ まとめ:Excel検索ツールを作って“探す時間”をゼロにしよう
・なぜExcel検索ツールを作るべきなのか
Excelには標準で検索機能(Ctrl+F)が備わっていますが、次のような課題があります。
- 検索範囲が「開いているシート」だけ
- 検索結果を一覧で確認できない
- 複数のシートやブックを一括検索できない
- 再利用や共有がしにくい
これらの問題を解決するために、自分で検索ツールを作ることで以下のような効果が得られます。
✅ ボタン1つでブック全体を横断検索
✅ 検索結果を一覧シートに自動出力
✅ クリックで該当セルにジャンプ
✅ 再利用可能で誰でも使える
RPAと連携すれば、複数ファイルを対象に自動検索・通知まで実現でき、業務効率を飛躍的に向上させることが可能です。
✅ Excel検索ツールの基本構造を理解する
まずはExcelマクロを使って、検索ツールの基本的な仕組みを理解しましょう。
今回紹介するツールは、以下のような流れで動作します。
・基本動作の流れ
- 検索ワードを入力(例:B2セル)
- 「検索開始」ボタンを押す
- すべてのシート・セルを走査して一致を検出
- 結果を「検索結果」シートに一覧出力
- クリックで該当セルにジャンプできるリンク付き一覧を生成
この仕組みを実装すれば、Excel内の全データを一瞬で横断的に調べられる“検索専用ポータル”を構築できます。
参考:【RPA・自動化】PC内のExcelファイル、PDFファイル、マクロファイルだけのフォルダ検索方法
✅ ステップ1:基本マクロの作成
まずは最小構成のVBAコードを紹介します。
・基本コード
Sub ExcelSearchTool()
Dim ws As Worksheet, resultWs As Worksheet
Dim c As Range, keyword As String
Dim resultRow As Long
keyword = Range("B2").Value
If keyword = "" Then
MsgBox "検索キーワードを入力してください。", vbExclamation
Exit Sub
End If
' 検索結果シートの準備
On Error Resume Next
Set resultWs = Sheets("検索結果")
If resultWs Is Nothing Then
Set resultWs = Worksheets.Add
resultWs.Name = "検索結果"
End If
On Error GoTo 0
resultWs.Cells.Clear
resultWs.Range("A1:D1").Value = Array("シート名", "セル位置", "内容", "リンク")
resultRow = 2
' 検索処理
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "検索結果" Then
For Each c In ws.UsedRange
If InStr(1, c.Text, keyword) > 0 Then
resultWs.Cells(resultRow, 1).Value = ws.Name
resultWs.Cells(resultRow, 2).Value = c.Address
resultWs.Cells(resultRow, 3).Value = c.Text
' 該当セルへジャンプできるリンクを生成
resultWs.Hyperlinks.Add _
Anchor:=resultWs.Cells(resultRow, 4), _
Address:="", _
SubAddress:="'" & ws.Name & "'!" & c.Address, _
TextToDisplay:="移動"
resultRow = resultRow + 1
End If
Next c
End If
Next ws
MsgBox "検索が完了しました。", vbInformation
End Sub
・実行方法
- Excelで「開発」タブ →「Visual Basic」を開く
- 新しいモジュールを作成して上記コードを貼り付け
- ExcelのB2セルに検索ワードを入力
- 「検索開始」ボタンを配置し、上記マクロを割り当て
これで、ボタン1つで全シートを横断検索できる検索ツールが完成します。
参考:【Excel】開発タブでボタンを作成する方法|マクロ登録と業務効率化の活用法
✅ ステップ2:検索機能を強化する
業務で使うには、いくつかの機能を拡張することで使いやすくなります。
・1. 複数キーワード検索
複数の語句(例:「契約 更新」)を同時に検索できるようにします。
Dim words() As String, i As Long
words = Split(keyword, " ")
For Each c In ws.UsedRange
For i = LBound(words) To UBound(words)
If InStr(1, c.Text, words(i)) > 0 Then
' 該当処理
End If
Next i
Next c
これにより、「契約」「更新」など、複数の語句を同時にヒットさせることが可能です。
参考:【VBA】文字列検索をFindで行う方法|セルの位置取得から応用テクニックまで解説
・2. 大文字小文字を区別しない検索
データ入力時の揺れに対応するために、大文字・小文字を区別しない設定にします。
If InStr(1, LCase(c.Text), LCase(keyword)) > 0 Then
これで「Excel」と「excel」も同一扱いになります。
・3. 完全一致モードの追加
部分一致ではなく完全一致で検索したい場合、以下のように切り替えられます。
If c.Text = keyword Then
UIに「検索タイプ選択(完全一致/部分一致)」のチェックボックスを追加すれば、より柔軟に使えます。
・4. 非表示シート・保護シートも検索対象に
業務では、非表示や保護されているシートにも重要な情報が含まれていることがあります。
以下のように設定すれば、非表示シートも一時的に検索対象にできます。
If ws.Visible = xlSheetHidden Then ws.Visible = xlSheetVisible
検索後に再び非表示に戻す処理を加えれば、セキュリティ面も安心です。
・5. 検索結果をCSVに出力
検索結果を別ファイルに保存すれば、RPAでの後続処理にも活用できます。
resultWs.Copy
ActiveWorkbook.SaveAs Filename:="C:\SearchResult_" & Format(Now, "yyyymmdd_hhmm") & ".csv", FileFormat:=xlCSV
ActiveWorkbook.Close False
これにより、検索結果が自動でログ化され、後で参照したりメールで共有することもできます。
✅ ステップ3:RPAで検索ツールを自動実行
VBAマクロで1つのブック内を検索できるようになったら、RPAを活用して複数ファイルをまとめて検索する段階に進みましょう。
・RPAによる自動検索フロー
- 検索対象フォルダーを指定
例:C:\Reports - RPAでExcelファイルをループ処理
「フォルダー内のファイル一覧を取得」アクティビティを使用。 - VBAマクロを呼び出し実行
各ブックを開き、検索結果をCSVに出力。 - 結果を集約
すべてのCSVを統合し、最終一覧を生成。 - 結果をメールやTeamsで送信
この仕組みをスケジュール実行すれば、毎朝自動で「特定キーワードを含むファイル一覧」を生成できます。
・RPA化によるメリット
- 検索漏れゼロ:人が操作しなくても全ファイルを網羅的に調査。
- 時間短縮:数千ファイルを数分で検索。
- 再現性:常に同じ条件で実行できる。
- 安全性:読み取り専用で開くことで誤操作防止。
RPAによって“検索作業”を完全に自動化すれば、担当者が別の業務に集中できます。
✅ 実務での応用例
Excel検索ツールは、あらゆる部門で活用可能です。
・営業部門
顧客リストの中から「未対応」「商談中」といった文字を含む行を自動検出。
営業報告の抜け漏れ防止に。
・経理部門
請求書一覧から「未処理」「支払済」などの文言を検索してステータスを確認。
・総務・法務部門
契約書フォルダーから「満了日」「自動更新」などの語を検索し、更新期限を把握。
・情報システム部門
全社のExcelから「パスワード」「ID」「Confidential」などを検索し、情報漏えいを防止。
これらの処理をRPAと連携させれば、日次監視・報告書作成も自動化できます。
✅ 導入時の注意点
Excel検索ツールを運用する際は、以下の点を意識すると安定稼働します。
- 検索範囲を限定:全シート走査は時間がかかるため、必要なシートだけ対象に。
- 実行前に保存:ファイルが編集中だとエラーになる場合があります。
- ファイル形式の統一:古い.xls形式やパスワード付きファイルは除外設定を。
- 結果ログを残す:検索日時や対象を記録することで、監査にも活用可能。
✅ まとめ:Excel検索ツールを作って“探す時間”をゼロにしよう
- Excel検索ツールは、VBAで簡単に自作できる。
- 全シート・全セルを横断して検索し、結果を一覧表示できる。
- ハイパーリンク機能やCSV出力で利便性が向上。
- RPAと組み合わせることで、複数ファイルの自動検索・通知も実現可能。
- 業務全体の“探す手間”を削減し、ミスを防止できる。
検索ツールを自作することは、単なる時短ではなく「情報の見える化・共有の効率化」につながります。
Excel業務を自動化の第一歩として最適化し、RPAと連携して“人が探さない仕組み”を構築しましょう。