• ベストアンサー

Excel VBA - 数式のコピーと値貼り付け

A~Cを使った表があり、AとBには値が入力されています。 C2に"=A2+B2"と入力し、その式を、A列の最終行と同じ行までコピーし、C2からCの最終行までの範囲をコピーして同じ範囲に値貼り付けするにはどういうVBAを書けばいいでしょうか。 宜しくお願い致します。

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

  • ベストアンサー
  • soixante
  • ベストアンサー率32% (401/1245)
回答No.3

#1です。 例えば。 Sub bbb() Dim q As Long For q = 2 To Cells(Rows.Count, 1).End(xlUp).Row Cells(q, 3).Value = Cells(q, 1).Value + Cells(q, 2).Value Next q End Sub 式は残りません。数値のみです。

buzhidao
質問者

お礼

ありがとうございます。 明日、試してみます。(^^)

その他の回答 (2)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

こんなコードもあるよ Sub test() Range([c2], [b65536].End(xlUp).Offset(0, 1)) = [{"=a2+b2"}] End Sub

buzhidao
質問者

お礼

ありがとうございます。(^^) たったの一行でできちゃうのですね。

  • soixante
  • ベストアンサー率32% (401/1245)
回答No.1

あまり美しくないかもしれませんが Sub aaa() Dim r As Long r = Cells(Rows.Count, 1).End(xlUp).Row With Cells(2, 3) .Formula = "=a2+b2" .Copy Range(Cells(2, 3), Cells(r, 3)) End With With Range(Cells(2, 3), Cells(r, 3)) .Copy .PasteSpecial Paste:=xlPasteValues End With Application.CutCopyMode = False End Sub とかどうでしょうか。 でも必要が無いならいちいち式を入れて、コピーして値貼り付けなどせずに、直接足してしまっても良いような気がします。

buzhidao
質問者

お礼

ありがとうございます。(^^) 直接足すともっとシンプルになるということでしょうか。 できれば教えて頂きたいと思っています。