Excel VBA データを検索する Findメソッド

スポンサーリンク
スポンサーリンク

Find【ファインド】メソッド

指定したセル範囲の中から指定した値を検索して、その値が最初に見つかったセルを取得するにはRange【レンジ】オブジェクトのFind【ファインド】メソッドを使用します。検索値と一致するセルの値があった場合はそのRange【レンジ】オブジェクトを返し、見つからなかった場合はNothing【ナッシング】を返します。

Findメソッドの各引数と「検索」ダイアログの関係

Find【ファインド】メソッドの書式

[]内は省略可能です。
オブジェクト.
Find(What[, After, LookIn, LookAt, SearchOrder,
SearchDirection, MatchCase, MatchByte, SearchFormat])


設定値(引数)の説明

  • オブジェクト(必須)
    データを検索する範囲をRange【レンジ】オブジェクトで指定します。
  • What【ワット】(必須)
    検索する値をバリアント型(variant)の値で指定します。
    「””」長さ0文字の文字列を指定した場合は空白が検索されます。例えば、A1セルに入力された値を検索値としたい場合は「What:=Range(“A1”).Value」のように指定できます。
  • After【アフター】(省略可)
    検索範囲内の単一セルを指定します。指定したセルの次のセルから検索が開始され指定したセルは最後に検索されます。省略した場合は検索範囲の左上端セルから検索が開始されます。
  • LookIn 【ルックイン】(省略可)
    検索対象をXlFindLookIn列挙型の定数から指定します。

    XlFindLookIn列挙型
    定数内容
    xlValues-4163
    xlComments-4144コメント
    xlFormulas-4123数式

    ※既定値はFindメソッドを実行するたびに保存されるため
    正確に処理を実行するためにはこの引数を省略しないでください。

  • LookAt【ルックアット】(省略可)
    検索内容を引数What【ワット】で指定した内容と完全一致させるかどうかを
    XlLookAt列挙型の定数で指定します。

    XlLookAt列挙型
    定数内容
    xlWhole1完全一致
    xlPart2部分一致

    ※既定値はFindメソッドを実行するたびに保存されるため
    正確に処理を実行するためにはこの引数を省略しないでください。

  • SearchOrder【サーチオーダー】(省略可)
    検索方向をXlSearchOrder列挙型の定数で指定します。

    XlSearchOrder列挙型
    定数内容
    xlByRows1行を横方向に検索してから
    次の行に移動します。
    xlByColumns2列を下方向に検索してから
    次の列に移動します。

    ※既定値はFindメソッドを実行するたびに保存されるため
    正確に処理を実行するためにはこの引数を省略しないでください。

  • SearchDirection【サーチディレクション】(省略可)
    検索方向をXlSearchDirection列挙型の定数で指定します。

    XlSearchDirection列挙型
    定数内容
    xlNext1行方向は左から右
    列方向は上から下へと検索します。(既定値)
    xlPrevious2行方向は左から右
    列方向は下から上へと検索します。
  • MatchCase【マッチケース】(省略可)
    大文字と小文字を区別するかしないかを指定します。

    設定値内容
    True区別する
    False区別しない

    ※既定値はFindメソッドを実行するたびに保存されるため
    正確に処理を実行するためにはこの引数を省略しないでください。

  • MatchByte【マッチバイト】(省略可)
    全角と半角を区別するかしないかを指定しましす。

    設定値内容
    True区別する
    False区別しない

    ※既定値はFindメソッドを実行するたびに保存されるため
    正確に処理を実行するためにはこの引数を省略しないでください。

  • SearchFormat【サーチフォーマット】(省略可)
    検索するセルの書式を指定します。

FindNext【ファインドネクスト】メソッド

Find【ファインド】メソッドで設定した検索条件で、引き続き検索を実行するにはRangeオブジェクトのFindNext【ファインドネクスト】メソッドを使用します。引数After【アフター】で指定したセルの次のセルから検索を再開し、検索値と一致するセルをRange【レンジ】オブジェクトで返します。

FindNext【ファインドネクスト】メソッドの書式

オブジェクト.FindNext( After )


  • オブジェクト(必須)
    検索するセル範囲を表すRangeオブジェクトを指定します。
  • After【アフター】(省略可)
    検索範囲内の単一セルを指定します。
    指定したセルの次のセルから検索が開始され、指定したセルは最後に検索されます。省略した場合は、検索範囲の左上端セルから検索されます。

FindPrevioust【ファインドプレビアス】メソッド

Find【ファインド】メソッドで設定した検索条件で、引き続き検索を実行するにはRange【レンジ】オブジェクトのFindPrevioust【ファインドプレビアス】メソッド引数After【アフター】で指定したセルの前のセルから上方向(行のときは右から左)に検索を再開し、検索値と一致するセルをRangeオブジェクトで返します。

FindPrevioust【ファインドプレビアス】メソッドの書式

オブジェクト.FindPrevioust( After )


  • オブジェクト(必須)
    検索するセル範囲を表すRangeオブジェクトを指定します。
  • After【アフター】(省略可)
    検索範囲内の単一セルを指定します。
    指定したセルの前のセルから検索が開始され、指定したセルは最後に検索されます。省略した場合は、検索範囲の左上端セルから検索されます。

Find【ファインド】メソッド使用例

検索値と同じ値のセルをすべて取得する」をご覧ください。


以上で、データを検索する Find【ファインド】メソッドについての解説を終了します。
ありがとうございました。

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク