Excel VBA:如果等于不是,则显示错误消息

无法弄清楚代码有什么问题。

我有一个代码,我需要检查是否在某些表格中可以find某些产品的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 

结束小组

基本上,我启动用户表单,并input框中的ID(即1),然后单击“好”或其他任何,如果在范围(ID:1)中找不到ID我希望它显示错误消息。

如果将<>更改为=,代码可以工作,但这不是所需的结果。

在不改变代码的情况下,可能会节省一些时间,而不是检查范围中的每个单元,只需使用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 

注意:这将查找用户插入的文本。 如果可以在某个string中使用通配符(即在“doggone”,“dog food”,“dog”中search“dog”)