• ベストアンサー

エクセル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(****** 』と関数が入ってしまいます。 どなたか 分かる方教えて下さい。 宜しくお願いします。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

一例です。 Range("a1") = IIf(Range("b1") = "", "", Range("b1") * Range("c1"))

BighooterV
質問者

お礼

IIFの意味が分かりませんがうまく動きました。 後でIIFを調べます。 ありがとうございました。

その他の回答 (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

BighooterV
質問者

お礼

ありがとうございます。 range("A1").clearcontentsこんなのがあるのですね。 勉強になります。 うまく動きましたありがとうございます。

関連するQ&A