Home > 即効テクニック > Excel VBA > 関数関連のテクニック > Matchワークシート関数を使用してセル範囲を検索する

即効テクニック

関数関連のテクニック

Matchワークシート関数を使用してセル範囲を検索する

(Excel 97/2000)
サンプルマクロでは、Matchワークシート関数を使用して、セルA1の値と同じ値をセルB1〜B5の範囲から検索しています。
検索できたらそのセルの位置をメッセージボックスに表示して、検索できなかった場合は、エラーとなるので、そのエラー番号と内容をメッセージボックスに表示し、更に検索値が見つからなかったことを知らせるためのメッセージボックスを表示しています。
Sub Sample()
    Dim m

    On Error GoTo Err_Trap

    m = Application.WorksheetFunction.Match(Range("A1"), Range("B1:B5"), 0)
    MsgBox "検索値はB列の" & m & "行目です"

  Exit Sub

Err_Trap:
    MsgBox "エラーコードNO." & Err.Number & Chr(13) & Err.Description
    MsgBox "検索値が見つかりませんでした"

End Sub
VBAでは、ほとんどのワークシート関数を使用できます。使用できるワークシート関数の一覧を表示するには、ヘルプ「Visual Basicで使用できるワークシート関数一覧」を参照してください。
WorksheetFunctionオブジェクトを介すことでExcelワークシート関数を使用できます。