【VBA】「Ctrl + F」検索機能を再現する方法|Findメソッドの使い方

目次

使用環境

  • 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円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。

[Kindle Unlimited 読み放題プランをチェックする]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次