- ベストアンサー
エクセルVBA 複数の条件を判定するIFの書き方
いつもお世話になっております。 ワークシート関数で =IF(AND(A1=C2,A1=D1,A1=E1),"☆","★") と同じ結果をたとえばA2セルに返すにはどのように 記述したらいいか教えてください。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
なぜあえてVBAなのかわかりませんが、もっと複雑な処理のうちの一部なのでしょうか。 とりあえず、質問の式と同じことをやろうとするのであれば、以下のような感じになるかと思います。 If Range("A1").Value = Range("C2").Value And Range("A1").Value = Range("D1").Value And Range("A1").Value = Range("E1").Value Then Range("A2").Value = "☆" Else Range("A2").Value = "★" End If
その他の回答 (2)
- merlionXX
- ベストアンサー率48% (1930/4007)
そのままVBA化するなら、こんな感じでしょうか。 Range("A2").Value = _ IIf(Range("A1") = Range("C2") _ And Range("A1") = Range("D1") _ And Range("A1") = Range("E1"), _ "☆", "★")
お礼
ありがとうございました。 IIf関数を使うのかなと思いましたが 肝心のAndで繋ぐということを知りませんでした。 これはこれで、色々使いでがありそうです。
- kaz-5919
- ベストアンサー率26% (45/170)
VBAじゃなくても =IF(AND(A1=C2,A1=D1,A1=E1),"☆","★") ↑がC1にかいているのなら 同じ結果をA2に返すのは A2に「=C1」ではだめなんですか?
お礼
ありがとうございます。 andで繋げばよかったのですね。 ご想像の通り、ある処理を行う前提のチェックとしての判定です。 なので、 Then 以下は Call ☆なマクロ Else Call ★なマクロ End If となります。