MATCHワークシート関数を使用してセル範囲を検索する|Excel VBA |
次のサンプルは、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.ワークシート関数」という記述でワークシート関数を使用できます。