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

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

関数関連のテクニック

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

(Excel 97/2000/2002/2003/2007/2010)

次のサンプルは、MATCHワークシート関数を使用してセルA1と同じ値をもつセルを、セル範囲B1:B5から検索しています。
検索値が見つかったら、そのセルの位置をメッセージボックスに表示します。
検索できなかった場合はエラーとなるので、そのエラー番号と内容をメッセージボックスに表示し、さらに検索値が見つからなかったことを知らせるメッセージボックスを表示します。

Sub Sample()
    Dim ret As Variant

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

    Exit Sub

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

VBAでは、ほとんどのワークシート関数を使用できます。使用可能なワークシート関数の一覧は、ヘルプ「Visual Basicで使用できるワークシート関数一覧」を参照してください。

ワークシート関数はWorksheetFunctionクラスのメンバです。VBAでは「Application.WorksheetFunction.ワークシート関数」という記述でワークシート関数を使用できます。