繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM