• ベストアンサー

No.328011の質問とよく似ているのですが

こんばんは。 「累積計算」で検索したら、No.328011の回答にマクロを使った計算が載っておりました。 同じような質問で申し訳ないのですが、マクロは初心者なので質問させてください。 No.328011ではA1という1個のセルしか使っていませんでしたが、これと同じ作業を、同列(A1~A20とかB1~B20)で実行したいとき、どのようにしたらよいのでしょうか。 A1に対するマクロと同じものを幾つも作るのでしょうか ('A1'の部分をA2,A3...に変えて) それとも、なにか違う方法があるのでしょうか。 教えていただきたく、お願いいたします。 (仕事で必要なのです)

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

要望は、各セル1つ1つについて、現在の直前値+入力値をそのセルの値にして、したがってその値を表示するということですね。 Dim t(20, 5) Private Sub Worksheet_Change(ByVal Target As Range) i = Target.Row: j = Target.Column t(i, j) = t(i, j) + Target.Value Application.EnableEvents = False Cells(i, j) = t(i, j) test01 End Sub Sub test01() Application.EnableEvents = True End Sub をSheetのChangeイベントに貼りつけてやって見てください。 A1:E20の範囲なら、累計します。 A1:G15ならdim t(15,7)に変えてください。 私の少数テストでは上手く行ったが不安あり。

kossy
質問者

お礼

imogasiさん、ありがとうございます。 この回答を参考にしてやってみます。 No.328011でも回答されていました。 エクセルに精通されているのだと思います。 誠にありがとうございました。

その他の回答 (1)

  • yosa
  • ベストアンサー率16% (28/170)
回答No.1

>No.328011ではA1という1個のセルしか使っていませんでしたが 記事番号を書かれても答えようがありません。 それとも、そのときに回答をされた方のみに質問しているのでしょうか?。 No.328011の記事を検索してまで、回答する人は居ないと思うので、 URLを貼ったほうがいいと思います。

関連するQ&A