コードに何が問題なのかわかりません。Excel VBA:等しい場合は、エラーメッセージを表示します。
注文する前に、特定のシートに特定の製品の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の
基本的に、私はボックスに(1 IE)IDでユーザーフォームと種類を起動し、IDが範囲内に見つからない場合は、「オーケー」または何をクリック(ID:1)エラーメッセージを表示します。
コードを<> =に変更すると動作しますが、これは必要な結果ではありません。
'valueToFind'は文字列(テキスト)値です。 Aは数字で構成されています。値を比較する前に、 'CStr()'や 'CLng()'や 'CDbl()'などを使って、テキストとその両方を数値に変更してください。 – Ralph
=を使用してトリムとuboundを試してください。一方の端にスペースがあり、他方のスペースにスペースがない場合、それは失敗します。 – Sorceri
私の答えは助けてくれてうれしいですが、あなた自身の知識のために、@ Ralphのコメントも見直すことをお勧めします。将来的に間違いなく文字列と数字を比較したいと思うでしょう – BruceWayne