当ページのリンクには一部広告が含まれています。
うさねこ気まぐれPG開発室

Excel VBA Match関数を使用して値を探す・エラー判定方法

広告

Match関数を使用して値を探す

うさこちゃん
うさこちゃん

サンプルはA2~J2の範囲で”0”をMatch関数を使用して値を探します。

構文

Match (検索値, 検索範囲, 検索方法)

パラメーター

名前必須 / オプションデータ型説明
検索値必須Variantテーブルで必要な値を検索するために使用する値です。
検索範囲必須Variant検査範囲: 参照値を含む可能性がある連続した範囲のセル。
検査範囲は、配列または配列参照である必要があります。
検索方法省略可Variant照合の型: -1、0、1 の数字。
1 :指定した値以下の最大値
  検査範囲は昇順に並べ替えておく必要があります。
0 :値と完全に等しい最初の値
-1:指定した値以上の最小値。
  検査範囲は降順で並べ替えておく必要があります。

Matchのエラー判定方法

IsError(VarMatchRow) = True
上記あればエラーと判定します。

サンプルコード

うさこちゃん
うさこちゃん

サンプルプログラムでは検索結果は”7”になります。

    Dim ObjThisSh     As Object
    Dim LngMach         As Long
    Dim VarMatchRow     As Variant
    Set ObjThisSh = ThisWorkbook.Sheets("Sheet1")
    
    LngMach = 0 '検索値
    VarMatchRow = Application.Match(LngMach, ObjThisSh.Range("A2:J2"), 0)

    If IsError(VarMatchRow) = True Then
        'データなし
    Else
        'データあり
        MsgBox (VarMatchRow)


    End If
    

免責事項

本記事のサンプルプログラムは実行を保証するものではなく、利用に伴う結果について一切の責任を負いません。


広告