[英]Excel VBA: If Equal Not to, then show error message
无法弄清楚代码出了什么问题。
我有一个代码,需要在下订单前检查是否可以在某些表中找到某些产品的ID。
Private Sub Pardot_Click()
Dim xlRange As Range
Dim xlCell As Range
Dim xlSheet As Worksheet
Dim valueToFind As String
valueToFind = pardID
Set xlSheet = ActiveWorkbook.Worksheets("Noliktava")
Set xlRange = xlSheet.Range("A1:A500")
For Each xlCell In xlRange
If xlCell.Value <> valueToFind Then
MsgBox ("This product wasn't found in the database - ID: " & pardID.Text)
Exit Sub
End If
Next xlCell
结束子
基本上,我启动用户窗体并在框中输入ID(即1),然后单击“确定”或其他命令,如果在范围(ID:1)中找不到该ID,我希望它显示错误Msg 。
如果将<>更改为=,则代码有效,但这不是必需的结果。
无需过多更改代码,并且可以节省一些时间,而不必检查范围内的每个单元,只需使用CountIf()?
Private Sub Pardot_Click()
Dim xlRange As Range
Dim xlCell As Range
Dim xlSheet As Worksheet
Dim valueToFind As String
valueToFind = pardID
Set xlSheet = ActiveWorkbook.Worksheets("Noliktava")
Set xlRange = xlSheet.Range("A1:A500")
If WorksheetFunction.CountIf(xlRange,valuetoFind) = 0 then
msgbox "This product wasn't found in the database - ID: " & parId.textEnd
End If
End Sub
注意:这将精确查找用户插入的文本。 如果可以在字符串的某处使用通配符(即在“ doggone”,“ dog food”,“ dog”中搜索“ dog”)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.