電子書籍の厳選無料作品が豊富!

ワークシート関数で書けば
=IF(OR(F18=0,AND(F15>0,F16>0)),TRUE)です。
これをVBAで書こうとして

If Sheet1.Range("F18") = 0 Or Sheet1.Range("F15") > 0 And Sheet1.Range("F16") > 0 Then
MsgBox True
Else
MsgBox False
End If

とやってみたのですが、正しくないようです。
どのように書けばいいのでしょうか?

A 回答 (3件)

>とやってみたのですが、正しくないようです。



式は正しいと思いますよ

ANDとORは、ANDが先に演算されます。/*と+-では、/*が先に演算されるようなものです。

でも、わかり易くするために、#1のかたのように括弧をつけるほうが良いですね。
    • good
    • 4
この回答へのお礼

よくわかりました。
ありがとうございました。

お礼日時:2004/01/25 16:35

しゃべるように、そのまま記述したらいかがですか。


--------
IF Sheet1.Range("F18")= 0 then
Msgbox Ture
Elseif Sheet1.Range("F15") > 0 And Sheet1.Range("F16") > 0 Then
Msgbox Ture
Else
Msgbox Fales
End if
--------
IF分中に確か二つの条件までしか出来なかったような・・・
    • good
    • 2
この回答へのお礼

ありがとうございました。

お礼日時:2004/01/25 16:34

If Sheet1.Range("F18") = 0 Or (Sheet1.Range("F15") > 0 And Sheet1.Range("F16") > 0) Then



かな。外してたらごめんなさい
    • good
    • 10
この回答へのお礼

ありがとうございました。

お礼日時:2004/01/25 16:33

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

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


おすすめ情報

このQ&Aを見た人がよく見るQ&A