• ベストアンサー

エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?

ワークシート関数で書けば =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 とやってみたのですが、正しくないようです。 どのように書けばいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ki-aaa
  • ベストアンサー率49% (105/213)
回答No.3

>とやってみたのですが、正しくないようです。 式は正しいと思いますよ ANDとORは、ANDが先に演算されます。/*と+-では、/*が先に演算されるようなものです。 でも、わかり易くするために、#1のかたのように括弧をつけるほうが良いですね。

joker999
質問者

お礼

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

その他の回答 (2)

  • Calbee
  • ベストアンサー率25% (1/4)
回答No.2

しゃべるように、そのまま記述したらいかがですか。 -------- 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分中に確か二つの条件までしか出来なかったような・・・

joker999
質問者

お礼

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

  • kagep
  • ベストアンサー率23% (171/721)
回答No.1

If Sheet1.Range("F18") = 0 Or (Sheet1.Range("F15") > 0 And Sheet1.Range("F16") > 0) Then かな。外してたらごめんなさい

joker999
質問者

お礼

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

関連するQ&A