Excel VBA Matchは指定された値を配列や範囲内で検索し位置を返す

 

Excel VBAのMatch関数は指定された値を配列や範囲内で検索し、その位置を返すために使用されます。一致する値が見つからない場合、エラーを返します。具体的な使い方や、注意点やサンプルコードを紹介します。

 

Excel VBA Match関数の利用

以下のようなシーンで利用されます。

・特定の値が配列や範囲内に存在するかどうかを調べる

・特定の値が配列や範囲内のどこにあるかを知りたい場合。

 

使い方

Match(検索値, 検索対象範囲, [検索方法])

・検索値: 検索する値
・検索対象範囲: 検索を行う範囲や配列
・検索方法 (オプション): 検索方法を指定します。省略した場合は精確な一致を探します。

 

ポイント

・検索対象範囲が昇順または降順に並んでいる必要があります。

・一致する値が見つからない場合、エラーが発生します。エラー処理を行うか、事前に一致を確認する必要があります。

 

Excel VBA Match関数のサンプルコード
Option Explicit

Sub MatchExample()
    Dim names As Range
    Set names = Range("A1:A5")
    Dim position As Variant
    position = Application.Match("John", names, 0)
    If Not IsError(position) Then
        MsgBox "Johnの位置: " & position
    Else
        MsgBox "Johnは見つかりませんでした。"
    End If
End Sub

サンプルコードは、「Match」関数を使用して、範囲A1:A5内で"John"の位置を検索しています。