我正在尝试使用此说明在Excel工作表中执行“查找”:
Set Found = Columns(2).Find(What:=value_to_find, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
但我收到错误“运行时错误'13':类型不匹配”。
如果我使用Range(“A1:H1”)而不是Columns(2),我没有收到任何错误,但我认为它们都是Range类型。
我的目标是使用一个Range变量,在脚本的开头我根据用户的选择对它进行增值。
答案 0 :(得分:0)
正如@barrowc评论的那样。
虽然不确定具体要求,但仍有效:
Sub xxx()
Dim value_to_find As String
value_to_find = "fooBar"
Dim r As Range
Set r = ActiveCell.EntireColumn.Find( _
What:=value_to_find, _
After:=ActiveCell, _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
MsgBox r.Address
End Sub
答案 1 :(得分:0)
[解决] 非常感谢大家,我用拉尔夫的支持解决了我的问题。
变量Found(在您的代码中)必须是variant类型。因此,如果您明确将Dim Found设置为variant,那么您的代码应该可以正常工作。