「vba 選択範囲の合計 WorksheetFunction.Sum」
「Application.WorksheetFunction.Sum (rng) 選択部分」
といった検索で時折アクセスがあることに気が付きました。
Excel VBAのWorksheetFunction.Sumメソッドを使って、
ワークシート上で選択されているセルの合計を求めるには、どのようなコードを書けばいいのか調べていらしたのでしょう。
選択範囲の合計を計算するサンプルマクロ
合計を求めたいセルを選択しておいてから、以下のExcelマクロを実行してください。
MsgBox _
WorksheetFunction.Sum(ActiveWindow.RangeSelection)
End Sub
合計値がメッセージボックスに表示されます。
WorksheetFunction.Sumメソッドの引数に、Window.RangeSelectionプロパティを指定すれば、選択されているセル範囲の合計を計算できます。
Selectionプロパティの場合
Window.RangeSelectionプロパティよりよく知られているSelectionプロパティを使う場合、以下のようなマクロでしょうか。
If TypeName(Selection) <> "Range" Then Exit Sub
MsgBox WorksheetFunction.Sum(Selection)
End Sub
戻り値がRangeオブジェクトに限定されていないSelectionプロパティの場合、
セル範囲が選択されていないときには
「WorksheetFuncitonクラスのSumプロパティを取得できません。」
実行時エラーが発生してしまいます。
そのため、選択されているのがセルではない場合に、
If TypeName(Selection) <> "Range" Then Exit Sub
とSubプロシージャをExitするIf文を入れてあります。
最終更新日時:2022-12-14 14:08
- Newer:TODAY関数の結果を数値化したい
- Older:Word VBAのParagraphs.First.Rangeとは
Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » WorksheetFunction.Sumで選択範囲を合計する