我在创建一个宏时遇到问题,该宏将在“信息”工作表的范围内找到活动工作表中的指定值。如果在范围内找不到单元格值,那么它会给我一个消息框,指出“未找到值”我有以下内容,但它不起作用:
Sub testrot()
Dim i As String
Dim srchrng As Range
Sheets(ActiveSheet.Name).Select
i = Cells(2, 5)
Sheets("Information").Select
Set srchrng = Range("j8:j17").Find(what = i)
If Not srchrng Is Nothing Then
MsgBox "Not Found"
End If
End Sub
例如,我的活动工作表中的单元格 (2,5) 是 #16,在范围 (j8:j17) 中,它是不同字符串 #16、#17 等的列表。
我很感激任何建议。
Thanks.
你想避免.Select
/.Activate
Sub testRot2()
Dim str As String
Dim srchRng As Range
With Worksheets(ActiveSheet.Name)
str = .Cells(2, 5).Value
Set srchRng = .Range("J8:J17").Find(what:=str)
If srchRng Is Nothing Then
MsgBox "Not found"
End If
End With
End Sub
另外,请注意我改变了i
to str
。正如我通常看到的那样,这是个人选择i
as a Long
/Integer
用于循环。你可以留着i
不过,只是想提一下。另外,请注意中所需的冒号Find(what:=str)
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)