雑記

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

© UsaNekoSanpo

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
   
ExcelVBA逆引き大全 600の極意 Office365/2019/2016/2013/2010対応

ExcelVBAを仕事で使う際、「あれって、どうやるんだったっけ?」と困った時にサッと使うための逆引きテクニック集です。「コピペ使用に耐えうるサンプル」「スクショ画像を交えての丁寧な説明」「構文についてだけの情報もセットになっている」「関連するテクニックについての情報もすぐに引ける」という4つの条件を満たした情報をネットで探すのは非常に困難。デスクの片隅に常備したい1冊です。

できる大事典 Excel VBA 2019/2016/2013&Microsoft 365(サンプルファイル・無料電子版付)

VBAを使ってコードを記述するには、プログラミングの知識や基本構文の理解などが必要です。しかし、基本的な概念や仕組みだけを覚えても、VBAを使って柔軟にプログラムを記述するのはなかなか難しいもの。自分の思い通りにプログラムを記述するには、使用したい機能の構文や、構文を記述する際の設定項目なども知ることが必要です。
992ページという大ボリュームに、Excel VBAを使ったあらゆる操作を凝縮しました。この1冊をお持ちいただければどんな場面でもすぐに役立つはず。クラスモジュールを利用したプログラムの作成方法や、Webスクレイピングを実行するVBAの記述方法など、高度な内容も解説しているため、一歩先を進んだ応用的な操作をしてみたい中級者の方にもおすすめの1冊です。

タイトルとURLをコピーしました