![Excel VBA Matchは指定された値を配列や範囲内で検索し位置を返す](https://vba-nav.com/wp-content/uploads/2023/11/53454ec9eef6cd09ba3e403b8812ca03.png)
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"の位置を検索しています。