- ベストアンサー
VBA(自然数)
読み取る値が自然数ではないときに、「自然数ではない」とメッセージを出すVBAを教えてください。 IF使うと思うのですが、自然数でないときの条件をどのようにしたらよいかわかりません。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
> 自然数でないときだけ表示させることはできないでしょうか? では Dim lValue As Double lValue = Target.Value If Not (Int(lValue) = lValue And lValue > 0) Then MsgBox "自然数じゃないです" End If
その他の回答 (4)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
どういう文脈で使うのか良くわからないのですが Dim x x = Range("A1").Value If IsNumeric(x) Then If x < 0 Then MsgBox "自然数でない" End If Else MsgBox "自然数でない" End If ぐらいでいいと思います。 自然数に0を含めない場合は If x < 0 Then を If x <= 0 Then に
- merlionXX
- ベストアンサー率48% (1930/4007)
No3です。 コード2行目のlValue = Target.Valueは、わたしがテストしたときに使った行でしたので削除してください。失礼しました。
- merlionXX
- ベストアンサー率48% (1930/4007)
> できれば、自然数ではないときの表示の仕方を教えてください。 No1さんのをそのままお借りすると、 Dim lValue as Double If int(lValue)=lValue and lValue > 0 then msgbox "自然数です" else msgbox "自然数じゃないです" end if って感じかな。
補足
自然数でないときだけ表示させることはできないでしょうか?
- scheimpflug
- ベストアンサー率14% (1/7)
はじめまして。 ダブル型の変数に評価されるべき値があるとして Dim lValue as Double If int(lValue)=lValue and lValue > 0 then ' 自然数です end if でいいのではないでしょうか。
補足
できれば、自然数ではないときの表示の仕方を教えてください。
お礼
ありがとうございました。 無事できました。