• ベストアンサー

エクセル 計算式をマクロで

おそらく基本的なことだとは思うのですが、以下の計算式を3000行までいれるのと同じ結果になるVBAを教えて頂けませんでしょうか? (1) =if(A1<>"",C1&D1,D1&"不可") (2) =if(and(A1=1,B1=2),C1&D1,D1&"不可") (3) =if(or(A1=1,B1=2),C1&D1,D1&"不可") お手数ですが、よろしくお願い致します。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>以下の計算式を3000行までいれるのと同じ結果になるVBA そのとおり入れて下さい。 sub macro1() range("X1:X3000").formula = "=if(A1<>"""",C1&D1,D1&""不可"")" range("Y1:Y3000").formula = "=if(and(A1=1,B1=2),C1&D1,D1&""不可"")" range("Z1:z3000").formula = "=if(or(A1=1,B1=2),C1&D1,D1&""不可"")" end sub

yuu1236
質問者

お礼

遅くなり、申し訳ありませんでした。ありがとうございます!

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

(2)の結果の場合 If Range("A1").Value = 1 And Range("B1").Value = 2 Then Range("E1").Value = Range("C1").Value & Range("D1").Value Else Range("E1").Value = Range("D1").Value & "不可" End If ですので for i=1 to 3000 If Range("A" & i).Value = 1 And Range("B" & i).Value = 2 Then Range("E" & i).Value = Range("C" & i).Value & Range("D" & i).Value Else Range("E" & i).Value = Range("D" & i).Value & "不可" End If next でよろしいかと。

yuu1236
質問者

お礼

遅くなり、申し訳ありませんでした。ありがとうございます!

関連するQ&A