OfficeType

VBA~WorksheetFunction.Matchメソッド~Excel

VBAで指定した範囲において検索値が範囲の上から、もしくは左から何番目にあるかを表示したい場合はWorksheetFunction.Matchメソッドを使います。

書き方

WorksheetFunction.Match(検査値, 検査範囲, [照合の型])

[照合の型]は0を指定すると検査値と等しい最初の値を検索します。

例として下の画像において下のコードを実行するとセルD1に数値5がセルA2からセルA6の範囲の上から何番目にあるかが表示されます。今回は数値5は範囲の上から3番目にあるので3が表示されます。

image-01

Sub test1()

Range("D1") = WorksheetFunction.Match(5, Range("A2:A6"), 0)

End Sub

image-02