- ベストアンサー
エクセルVBAの掛け算
お世話になります。 VBA初心者です。 セルA1にはB1×C1の答え Range("A1").Value = Range("B1") * Range("C1") これを、B1が空白ならA1も空白に、そうでないならA1にB1×C1の答えを入れたいのですが 分かりません。 Range("A1").Value = "IF(B1="""","""",B1 * C1)"これだと A1に『 =IF(****** 』と関数が入ってしまいます。 どなたか 分かる方教えて下さい。 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
一例です。 Range("a1") = IIf(Range("b1") = "", "", Range("b1") * Range("c1"))
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
回答No.1
お手本: A1に =IF(B1="","",B1*C1) これを元にマクロに翻訳すると: sub macro1() if range("B1")="" then range("A1").clearcontents else range("A1") = range("B1")*range("C1") end if end sub #参考:お手本の数式を全くその通りに翻訳すると sub macro2() if range("B1") = "" then range("A1") = "" else range("A1") = range("B1")*range("C1") end if end sub
質問者
お礼
ありがとうございます。 range("A1").clearcontentsこんなのがあるのですね。 勉強になります。 うまく動きましたありがとうございます。
お礼
IIFの意味が分かりませんがうまく動きました。 後でIIFを調べます。 ありがとうございました。