- ベストアンサー
Excel VBAの SUM関数について質問です。
Excel VBAの SUM関数について質問です。 SUM関数で合計の値を出す場合、 SUM(A1:A5)という関数で合計を出しますが SUM(sheet2.cells(1,1),sheet2.cells(5,1)) と言ったようにCellsで指定はできないのでしょうか? 複数の列にVBAのプログラムで合計の値を出したいのです。 WorksheetFunction.SumではSUM(A1:A5)のように 自動計算にならないと思うので・・・
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
例えば、Sheet2のA6セルに質問の数式を入力するのであれば次のようにします。 Worksheets("Sheet2").Cells(6, 1).Formula = "=SUM(" & Cells(1, 1).Address & ":" & Cells(5, 1).Address & ")" Sheet1のような別シートのA1セルに質問の数式を入力するのであれば次のようにします。 Worksheets("Sheet1").Cells(1, 1).Formula = "=SUM(Sheet2!" & Cells(1, 1).Address & ":" & Cells(5, 1).Address & ")"
その他の回答 (1)
- rivoisu
- ベストアンサー率36% (97/264)
Worksheetfuncion のSum関数の書き方は worksheetfunction.sum(range(cells(1,1),cells(5,1))) worksheetfunction.sum(range("A1:A5))) のように書きます。 >自動計算にならないと思うので・・・ 自動計算するシートをVBAで作るというのならならworksheetfunction.sumではなく 該当するセルが例えばA6なら range("A6").Formula="=SUM(A1:A5)" というふうに A6に式を入れてあげるのがいいと思います
お礼
回答ありがとうございます。 Formulaで自動計算できるようになるんですね。 大変勉強になりました。 ありがとうございました。
お礼
回答ありがとうございます。 addressのプロパティでセル番地の指定ができるんですね。 知りませんでした。 ありがとうございました。