プロが教える店舗&オフィスのセキュリティ対策術

読み取る値が自然数ではないときに、「自然数ではない」とメッセージを出すVBAを教えてください。
IF使うと思うのですが、自然数でないときの条件をどのようにしたらよいかわかりません。

A 回答 (5件)

> 自然数でないときだけ表示させることはできないでしょうか?



では

Dim lValue As Double
lValue = Target.Value
If Not (Int(lValue) = lValue And lValue > 0) Then
MsgBox "自然数じゃないです"
End If
    • good
    • 2
この回答へのお礼

ありがとうございました。
無事できました。

お礼日時:2005/12/07 15:27

どういう文脈で使うのか良くわからないのですが


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
    • good
    • 0

No3です。



コード2行目のlValue = Target.Valueは、わたしがテストしたときに使った行でしたので削除してください。失礼しました。
    • good
    • 0

> できれば、自然数ではないときの表示の仕方を教えてください。



No1さんのをそのままお借りすると、

Dim lValue as Double
If int(lValue)=lValue and lValue > 0 then
msgbox "自然数です"
else
msgbox "自然数じゃないです"
end if

って感じかな。

この回答への補足

自然数でないときだけ表示させることはできないでしょうか?

補足日時:2005/12/07 15:12
    • good
    • 0

はじめまして。


ダブル型の変数に評価されるべき値があるとして

Dim lValue as Double
If int(lValue)=lValue and lValue > 0 then
' 自然数です
end if

でいいのではないでしょうか。

この回答への補足

できれば、自然数ではないときの表示の仕方を教えてください。

補足日時:2005/12/07 14:47
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています