私はVBAが誤っ(私見)を評価し、次の簡単なコードを、持っていると私も広範囲にウェブを検索した後、それを把握することはできません。VBAは評価>と<演算子が誤っ
はElseIf TextBoxSNo.Value < 1 Then
MsgBox ("Please choose existing S.No")
Exit Sub
ElseIf TextBoxSNo.Value > Cells(LastRow, 1).Value Then
MsgBox ("Please choose existing S.No")
Exit Sub
このコードは値をristricts Excelのユーザーフォームを入力することができます。ユーザーが1より小さい値またはセル(LastRow、1).Valueよりも高い値を入力すると正常に動作します。
ただし、有効な値を入力すると、エラーメッセージが表示されます。どうすればいいの?エラーメッセージとともにMsgBoxにコードを出力することで、コードが評価した値をチェックしました。本当にvbaが5> 100を真と評価し、エラーメッセージを出力するようです。
編集:最初のElseIfステートメントのみを保持すると、正常に動作します。 2番目のElseIfを追加した場合のみ、間違って評価されます。 LastRowは整数として定義されているので、数値と数値を比較しています
ありがとうございました!
かかわらず、これを必要とする理由
いけない、本当に理解できますか?比較する前にすべてを数値に変換してみてください。 – moffeltje
私は両方が数字であることを確信しています。 LastRowはIntegerとして定義されます。 –
途中で本当に助けてくれてありがとう。 –