Excel(エクセル)VBAのFindメソッドで検索値が見つからない時の対処法!

Excel(エクセル)の勉強方法のメイン画像 Excel(エクセル)

業務中に調べることの多い、Excel,Word,PowerPointなどのノウハウを発信していきます!

Biz Magic編集部をフォローする

Excel(エクセル)Findメソッドとは

皆さんExcel VBAのFindメソッドとはなにかをご存じでしょうか?FindメソッドとはVBAで検索や置換などの機能を提供するメソッドです。このメソッドを使用することで、指定した文字列を含むセルや範囲を検索し、該当するセルや範囲を返すことができます。

findメソッドは、Rangeオブジェクトのメソッドであり、以下のよう記述します。

RangeObject.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

引数の詳細は以下のとおりです。すべての引数を記入する必要はありません。

  • What:検索する文字列を指定します。
  • After:検索を開始するセルを指定します。省略可能で、指定しない場合は範囲全体から検索を開始します。
  • LookIn:検索する範囲を指定します。省略可能で、指定しない場合はセルの値を検索します。
  • LookAt:検索する文字列の種類を指定します。xlPartを指定すると部分一致、xlWholeを指定すると完全一致で検索を行います。省略可能で、指定しない場合は部分一致で検索を行います。
  • SearchOrder:検索する順序を指定します。省略可能で、指定しない場合は行優先で検索を行います。
  • SearchDirection:検索する方向を指定します。省略可能で、指定しない場合は下方向に検索を行います。
  • MatchCase:大文字小文字を区別するかどうかを指定します。省略可能で、指定しない場合は大文字小文字を区別しません。
  • MatchByte:全角半角を区別するかどうかを指定します。省略可能で、指定しない場合は全角半角を区別しません。
  • SearchFormat:セルの書式を検索対象にするかどうかを指定します。省略可能で、指定しない場合は書式を検索対象にしません。

今回の記事ではExcel VBAのFindメソッドで検索値が見つからない場合の原因と対処法をご紹介します。

Excel(エクセル)VBAのFindメソッドで検索値が見つからない原因と対処法

では、早速ですがExcel VBAのFindメソッドで検索値が見つからない原因と対処法をご紹介していきます。まず、Findメソッドで検索結果が見つからない場合がありますが、その原因は多岐にわたります。今回はその原因の一例をご紹介します。

検索範囲が正しく指定されていない

検索範囲が正しく指定されていない場合、検索値が見つからない可能性があります。検索範囲は、Rangeオブジェクトで指定します。例えば、A1からA10までの範囲を検索する場合は、以下のように指定します。

Set searchRange = Range("A1:A10")

検索範囲を正しく指定することで、検索値を正しく検索できます。

検索方向が正しく指定されていない

検索方向が正しく指定されていない場合、検索値が見つからない可能性があります。検索方向は、SearchDirectionパラメータで指定します。検索方向を正しく指定することで、検索値を正しく検索できます。

検索値が存在しない

検索値が存在しない場合、検索値が見つからない可能性があります。この場合、FindメソッドはNothingを返します。以下のように、検索結果がNothingであるかどうかをチェックすることができます。

If foundCell Is Nothing Then
    MsgBox "検索値が見つかりませんでした。"
End If

この場合は部分一致か完全一致か大文字小文字を区別するかなどの引数の設定を確認してみてください。

検索値に誤りがある

検索値に誤りがある場合、検索値が見つからない可能性があります。例えば、検索値が数値である場合、文字列として指定すると検索値が見つからないことがあります。検索値を正しく指定することで、検索値を正しく検索できます。

今回ご紹介した検索値が見つからない原因は一例ではありますが、よくある原因なのでまずはこの項目を確認してみましょう。Findメソッドには多くの引数があり、省略可能なものも多いですが、しっかりと指定しないと思っている検索方法と違っているということも多々あります。引数の指定は注意して行いましょう。

Excelの操作方法は実際に手を動かし、身につけていきましょう

今の時代、様々な仕事でExcelを使用することがあるでしょう。今回はExcel VBAのFindメソッドで検索値が見つからない原因と対処法についてご紹介しました。このような機能を使いこなすことができれば仕事にも役に立つので、実際に手を動かし、覚えていきましょう。

WordやExcelなどのOfficeツールでは便利なショートカットキーなどがたくさんあるのでよく使う作業に関してはショートカットキーを調べてみるのも効率よく仕事を進める上で大切なことなのでこれから実践してみましょう。

コメント

タイトルとURLをコピーしました