0

誰かが以下のコードでアドバイスしてください。「インデックス」が表示される列を見つけられるようにしたいと思います。

Sub Test()
    Dim d As Range
    Dim a As Variant

    Set d = Sheet2.Range("H349:M349")

    a = Application.WorksheetFunction.Match("Index", d, 0)

End Sub

しかし、最後の行に次のようなエラーが表示されます。

WorkSheet 関数クラスの Match プロパティを取得できません

4

1 に答える 1

3

Sheet2 内のセルの 1 つ (必ずしも Sheets("Sheet2") と同じであるとは限りません) H349:M349 に "Index" (および "Index" のみ) という単語が単独で表示されますか?

Match は VBA ではかなりエラーが発生しやすいため、代わりに Range.Find メソッドを使用することを好みます。

Sub Test()

    Dim rngFound As Range

    Set rngFound = Sheet2.Range("H349:M349").Find("Index", , xlValues, xlWhole)
    If Not rngFound Is Nothing Then
        'Found a match
        MsgBox "Found a match at " & rngFound.Address
    Else
        'No matches
        MsgBox "No matches"
    End If

End Sub
于 2013-08-13T14:39:02.037 に答える