无法弄清楚代码的错误。
我有一个代码,我需要检查某些表格中是否可以找到某些产品'订单前的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
End Sub
基本上,我启动用户表单并在框中输入ID(即1),然后单击&#34;好的&#34;或者其他什么,如果在范围内找不到ID(ID:1)我希望它显示错误消息。
如果我更改&lt;&gt;代码,则代码有效to =,但那不是必需的结果。
答案 0 :(得分:3)
如果不过多地更改代码,并且可能节省一些时间,而不是检查范围中的每个单元格,只需使用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
注意:这将查找 完全 用户插入的文本。如果它可以在字符串中的某个位置使用通配符(即搜索&#34;狗&#34;在&#34;狗狗&#34;,&#34;狗食&#34;,&#34;狗&#34; )