アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel VBAの SUM関数について質問です。

SUM関数で合計の値を出す場合、

SUM(A1:A5)という関数で合計を出しますが

SUM(sheet2.cells(1,1),sheet2.cells(5,1))
と言ったようにCellsで指定はできないのでしょうか?

複数の列にVBAのプログラムで合計の値を出したいのです。

WorksheetFunction.SumではSUM(A1:A5)のように
自動計算にならないと思うので・・・

A 回答 (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 & ")"
    • good
    • 11
この回答へのお礼

回答ありがとうございます。
addressのプロパティでセル番地の指定ができるんですね。
知りませんでした。
ありがとうございました。

お礼日時:2010/08/11 21:33

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に式を入れてあげるのがいいと思います
    • good
    • 4
この回答へのお礼

回答ありがとうございます。

Formulaで自動計算できるようになるんですね。
大変勉強になりました。

ありがとうございました。

お礼日時:2010/08/11 21:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!