1

我是 vba 新手

下面的代码是在 excel 中查找两个 ID 之间的匹配,如果匹配则将新值放入新单元格中。问题是当调试出现时

“无法找到 WorksheetFunction 类的属性”。

Dim lMatch As Long
For i = 0 To 112
    For j = 0 To 540
    lMatch = Application.WorksheetFunction.Find(Cells(2 + i, "A").Value, Cells(2 + j, "H").Value)
        If lMatch > 0 Then
            ActiveSheet.Cells(2 + i, "B").Value = ActiveSheet.Cells(2 + j, "I").Value
        End If
    Next j
Next i
4

3 回答 3

4

WorksheetFunction.Find()如果您要查找的内容不存在,我相信会引发错误。

我建议使用不同的功能InStr()来实现您似乎正在尝试的功能。

或者,如果必须,On Error在找不到值时使用重定向程序流。

于 2013-04-29T10:15:13.187 回答
1

我不认为 WorksheetFunction.Find() 是您需要的,它是另一种适用于范围的 Find 方法。这个怎么样?

Dim lMatch As Range
For i = 0 To 112
    For j = 0 To 540
    Set lMatch = Cells(2 + i, "H").Find(Cells(2 + i, "A").Value)
        If Not lMatch Is Nothing Then
            ActiveSheet.Cells(2 + i, "B").Value = ActiveSheet.Cells(2 + j, "I").Value
        End If
    Next j
Next i
于 2013-04-29T11:47:58.090 回答
0

请正确检查下面的 Find 函数是 find 函数 Find("A",cells(2+i)) 的正确格式

于 2020-05-18T16:11:57.443 回答