我在创建一个宏时遇到问题,该宏会在我的“信息”表单中的某个范围内的活动工作表中找到指定的值。如果在范围内找不到单元格值,那么它会给我一个消息框,说明“找不到值”我有以下内容但它不起作用:
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等的列表。
我感谢任何建议。
感谢。
答案 0 :(得分:0)
您要避免.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
更改为str
。这是个人选择,因为我通常会将i
视为Long
/ Integer
进行循环。你可以保留它i
,只是想提一下。另请注意Find(what:=str)
中所需的冒号。