構文
構文は以下の通りです。
WorksheetFunction.Match(検索値, 検索範囲, [照合の種類])
解説
WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。Match関数は、範囲内から指定した値を検索して、上から数えた位置を求めます。検索値には、探したい値(数値や文字)を指定します。検索範囲には、セルの範囲を指定します。照合の種類(省略可能)には、以下の値を指定します。
引数 | 内容 |
0 | 完全に一致するものを探します。 |
1 | 検索値以下で最大の値を探します。(検索範囲は昇順に並んでいる必要があります) |
-1 | 検索値以上で最小の値を探します。(検索範囲は降順に並んでいる必要があります) |
プログラミング例
具体的なプログラミング例を紹介します。
Sub 果物を探そう()
Dim 探す果物 As String
Dim 見つけた位置 As Variant
' 探したい果物の名前を入れます
探す果物 = "りんご"
' A1からA5の中で果物を探します
見つけた位置 = WorksheetFunction.Match(探す果物, Range("A1:A5"), 0)
' 結果を表示します
MsgBox "見つけた" & 探す果物 & "は、A" & 見つけた位置 & "にあります。"
End Sub
Dim 探す果物 As String
Dim 見つけた位置 As Variant
' 探したい果物の名前を入れます
探す果物 = "りんご"
' A1からA5の中で果物を探します
見つけた位置 = WorksheetFunction.Match(探す果物, Range("A1:A5"), 0)
' 結果を表示します
MsgBox "見つけた" & 探す果物 & "は、A" & 見つけた位置 & "にあります。"
End Sub
上記のプログラムは、Match関数を使って、A1からA5の中でその果物が何番目にあるかを調べます。最後に、結果をMsgBoxで表示します。
まとめ
Match関数は、特定の値がリストのどこにあるかを見つける事ができます。これを使えば、多くのデータの中から欲しい情報を簡単に探し出すことができます。