我正在使用一个简单的代码来查找范围内的值,如果找到该值,则它的所有实例都会用“”清除。
代码:
Sub Clear()
Range("A1:R34").Replace What:=Range("U3"), Replacement:="", Lookat:=xlWhole
Range("U3").ClearContents
End Sub
因此,如果在范围内找到输入 U3 的值,则包含该值的单元格将被清除。此代码工作正常,并且如果找到这些实例,则会被清除,但是如果在我的范围内找不到 U3 中的值,我希望出现一个对话框。所以我会使用MsgBox“无效订单号”。我不知道如何将其放入我的代码中。我觉得我需要 IF 和 then,但我是新手,所以不确定。
基本上我希望代码是这样的:
Sub Clear()
Range("A1:R34").Replace What:=Range("U3"), Replacement:="", Lookat:=xlWhole
'If (if the above Replace finds nothing) Then MsgBox "Invalid Order Number"
Range("U3").ClearContents
我不知道让它工作的语法。
Sub Clear()
Dim cFind as Range, ws as worksheet
Set ws = ActiveSheet 'or specific named sheet
Set cFind = ws.Range("U3")
With ws.Range("A1:R34")
If .Find(What:=cFind.Value, LookAt:=xlWhole) Is Nothing Then
.Replace What:=cFind.Value, Replacement:="", Lookat:=xlWhole
cFind.ClearContents
Else
Msgbox "Invalid order number: " & cFind.Value
End If
End With
End Sub