VBA:无法获取WorkSheet函数类的Match属性

时间:2013-08-13 14:31:30

标签: excel vba

有人可以提供以下代码建议。我希望能够找到出现“索引”的列:

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属性

1 个答案:

答案 0 :(得分:2)

你确定单词“Index”(并且只有“Index”)单独出现在Sheet2中的一个单元格中(可能不一定与Sheets(“Sheet2”)相同)H349:M349?

在VBA中匹配可能相当容易出错,所以我更喜欢使用Range.Find方法,可以测试Nothing(未找到):

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