対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016
「vba 列全体のworksheetfunction.sum」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
Excel VBA(Visual Basic for Applications)で、WorksheetFuncitonオブジェクトのSumメソッドを使って、
列全体の合計を求めるには、引数をどう指定すればいいのかを探していた方による検索です。
[スポンサードリンク]
Rangeプロパティを使って列全体の合計を計算するサンプルマクロ
さまざまな書き方をすることができますが、合計したい列が固定されている場合は、以下のようなコードが一番わかりやすいでしょう。
Sub WorksheetFunction_Sumのサンプル_Range()
MsgBox WorksheetFunction.Sum(Range("A:A"))
End Sub
MsgBox WorksheetFunction.Sum(Range("A:A"))
End Sub
WorksheetFunction.Sumメソッドの引数に、Excel VBAでもっともよくお世話になるプロパティ・Rangeを使って列全体を指定したコードです。
Columnsプロパティを使って列全体の合計を計算するサンプルマクロ
マクロの中で、合計する列番号を変数に代入しておいて、その列全体の合計を計算したいというケースもありそうです。
この場合、以下のようなマクロが参考になるでしょう。
Sub WorksheetFunction_Sumのサンプル_Columns()
MsgBox WorksheetFunction.Sum(Columns(1))
End Sub
MsgBox WorksheetFunction.Sum(Columns(1))
End Sub
Columnsプロパティの引数に列番号を表す数値を指定することで列全体の合計を計算しています。
結局、列全体を表すRangeオブジェクトを返すオブジェクト式を、WorksheetFunctionオブジェクトのSumメソッドの引数に指定すれば、列全体の合計を計算することができるわけです。
既にご紹介している列全体を表すさまざまなオブジェクト式を、WorksheetFunction.Sumの引数に指定してみてください。
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » WorksheetFunction.Sumで列全体の合計を計算する