教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAのWorksheetFunctionオブジェクトで使用するSumIf関数の使い方

構文

構文は以下の通りです。

WorksheetFunction.SumIf(範囲, 条件, [合計範囲])

解説

WorksheetFunctionは、ExcelVBAの組み込みオブジェクトで、Excelのワークシート関数をVBAから呼び出す際に使用します。SumIf関数は、指定した範囲内の条件に一致するセルを見つけ、その条件に合うセルに対応する数値を合計する関数です。例えば、ある列の中で特定の値以上のセルの合計を求める際に便利です。範囲は、条件をチェックするセル範囲を指定します。条件は、合計したいセルを選ぶための条件を入力します。文字列、数値、比較演算子が使用できます。合計範囲(省略可能)は、合計したい数値が入っているセル範囲を指定します。省略すると、範囲と同じセル範囲が合計されます。

プログラミング例

具体的なプログラミング例を紹介します。

Sub 合計を計算する()
    ' 変数の定義
    Dim 合計結果 As Double
    Dim 範囲 As Range
    ' 範囲の指定(例: A1からA10の範囲)
    Set 範囲 = Range("A1:A10")
    ' 50以上の値の合計を取得
    合計結果 = WorksheetFunction.SumIf(範囲, ">=50")
    ' 結果をメッセージボックスで表示
    MsgBox "50以上の値の合計は " & 合計結果 & " です。"
End Sub

上記のプログラムでは、セル範囲A1:A10の中から50以上の数値を持つセルを合計しています。範囲内の条件に合う数値を合計し、その結果をメッセージボックスで表示します。

まとめ

SumIf関数は、指定した範囲の中で条件に合う数値を合計するために使用されます。条件は数値や比較演算子(例: >=50)を使用して指定できます。範囲に対して、指定した条件に一致するセルの数値を合計することができます。