在另一个工作簿区域中查找数据返回类型不匹配错误 N.13



我对以下子有问题:

Sub prova()
Dim E As String
'Dim H As Range
'Dim G As String
E = range("D3").Value
range("F2").Select
'Set H = Worksheets("Sheet1").range("F3:F100")
range("F3:F100").find(What:=E, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
End Sub

它返回类型不匹配错误。问题与我要搜索变量 E 的范围有关,如果我指定范围或我用名称 (H 设置它)。如果我用columns(6)cells替换range(.....)(它会在所有电子表格中搜索),它可以工作。如果我指定一个范围,它不起作用。我不明白。

那里有几个问题 -

首先,After: 参数需要一个 Range,而 ActiveCell 的默认属性是 。值,因此您的类型不匹配。

其次,After: 参数必须在 .查找被调用。调用 Range("F2").Select 后,F2 是活动单元格 - 这将为您提供 1004 错误。

我认为您正在寻找更多类似的东西:

Sub prova()
    Dim E As Variant
    E = Range("D3").Value
    Range("F3:F100").Find(What:=E, After:=Range("F3"), LookIn:=xlFormulas, _
                          LookAt:=xlPart, SearchOrder:=xlByRows, _
                          SearchDirection:=xlNext, MatchCase:=False, _
                          SearchFormat:=False).Activate
End Sub

您可以找到 的预期参数。在这里找到方法。

相关内容

  • 没有找到相关文章

最新更新