目次
使用環境
- OS:Windows 10 Pro(バージョン:20H2)
- ソフト:Microsoft Excel VBA
経緯
VBAを使って、Excel上で**「Ctrl + F」検索機能**を再現し、
指定した文字列をセルから探し出す方法を学びました。
解決方法:Findメソッドを使う
VBAでは、Find()メソッドを使うことで、
「Ctrl + F」と同じような検索動作をプログラムで実装できます。
コード例(シート内で「森」を探す場合)
Dim FoundCell As Range
Set FoundCell = Cells.Find(What:="森")
If FoundCell Is Nothing Then
MsgBox "いません。"
Else
FoundCell.Activate
End If
コード解説
- 1行目:
FoundCellという変数をRange型で宣言します。 - 2行目:シート全体(
Cells)の中から、「森」という文字列を探し、結果をFoundCellに格納します。 - 3行目:
If文で、検索結果が「見つからなかった場合(Nothing)」を判定します。 - 4行目:「森」がいなければ、メッセージボックスで「いません。」と表示します。
- 6行目:「森」が見つかった場合、そのセルに移動(アクティブ化)します。
- 7行目:
If文終了。
ポイントまとめ
Cells.Findを使えば、シート全体から検索できます。What引数に探したい文字列を指定します。- 見つかったかどうかを
If FoundCell Is Nothingで判定します。 - 見つかった場合、
FoundCell.Activateでそのセルに移動できます。
まとめ
Excel VBAで「Ctrl + F」検索を再現するには、
Cells.Find(What:="検索ワード")を使う- 結果が見つからない場合(Nothing)と見つかった場合を条件分岐する
この基本形を押さえておけば、検索機能を自在に組み込めるようになります。
技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。
プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。
気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。
