セルを検索したい

Excel VBA Tips集-3

セルを検索する方法

セルを検索するにはRange.Findメソッドを用います。使い方は、
Find(What:=検索キーワード)です。

Findメソッドは、もし検索キーワードが指定されたセル範囲の中にあれば、そのキーワードを含むセル(Rangeオブジェクト)を返します。

逆に、検索キーワードが存在しなければ、Nothingという特別な値を返します。

例えば、オブジェクト変数「myRange」の中身がNothingかどうかを判定するには、
myRange Is Nothing」と書きます。Is演算子を用いて比較するわけです。

もしmyRangeの中身がNothingならば、「myRange Is Nothing」はTrueを返します。

[スポンサードリンク]

Findメソッドのサンプルコード

Findメソッドの致命的な弱点

Findメソッドは検索キーワードに該当するセルが複数あっても、最初に該当するセルを見つけた段階で、検索を終了してしまいます。この点がFindメソッドの致命的な弱点です。

もし検索範囲内にある検索キーワードに該当する全てのセルを取得したい場合は、FindメソッドFindNextメソッドを組み合わせて用いる必要があります。

その具体的な方法については「【VBAによる全文検索】全てのセルを検索し重複している値も含めて検索に該当するセルを一括操作するサンプルプログラム」に詳しい内容と実用的な検索マクロが載っているので、こちらをご参照いただければと存じます。

[スポンサードリンク]

関連項目

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA