「Excel VBA 配列 合計」
という検索キーワードでアクセスがありました。
Excel VBAで、配列変数の要素に代入されている数値の合計を求めるには、どのようなコードを書けばいいのか探していた方による検索です。
「配列計算 Excel VBA Sum」
といった検索キーワードでのアクセスもあります。
配列の合計をFor~Nextで求める
For~Next文の中で、地道に足し算を繰り返す、VBA全般で動くコードから見ておきましょうか。
Dim arr(1 To 3) As Long
arr(1) = 10
arr(2) = 20
arr(3) = 30
Dim total As Long, i As Long
For i = LBound(arr) To UBound(arr)
total = total + arr(i)
Next
MsgBox total
End Sub最初に、要素が3つだけのLong型の配列変数に、
Dim arr(1 To 3) As Long
サンプルデータを代入しておきます。
arr(1) = 10
arr(2) = 20
arr(3) = 30
上記のコードで準備した配列の要素から、順番にデータを取得して変数totalに加算して、
Dim total As Long, i As Long
For i = LBound(arr) To UBound(arr)
total = total + arr(i)
Next
最後にメッセージボックスに合計を表示しています。
MsgBox total
配列の合計をWorksheetFunction.Sumで求める
続いてExcel VBAならではのコードです。
以下のコードで、先ほどのFor~Nextループを使うコードと同じ結果が得られます。
Dim arr(1 To 3) As Long
arr(1) = 10
arr(2) = 20
arr(3) = 30
Dim total As Long
total = WorksheetFunction.Sum(arr)
MsgBox total
End SubWorksheetFunctionオブジェクトのSumメソッドで、
ワークシート関数のSUMを呼んでいます。
先ほどのFor~Nextループを使ったコードと比較しやすいように、変数totalを使って
Dim total As Long
total = WorksheetFunction.Sum(arr)
MsgBox total
としていますが、
MsgBox WorksheetFunction.Sum(arr)
としても勿論OKです。
最終更新日時:2021-05-06 16:03
- Newer:Word VBAで表のグリッド線の表示を
- Older:VBAで系列の個数を取得する
Home » エクセルマクロ・Excel VBAの使い方 » 配列 » Excel VBAで配列の合計を求める