本記事の内容
VBAのマクロ内でエクセルの関数を使用する方法をご紹介
→ ApplicationオブジェクトのWorksheetFunctionプロパティを使用
こんな方におすすめ
- Excel VBAでエクセルのワークシート関数を使用したい方
- VBA初心者の方
ワークシート関数とは?
ワークシート関数とは、
Excelの数式に入力して使用できる関数
のことです。
<ワークシート関数例>
- SUM
- MIN
- MAX
- SUMIF
ワークシートの呼び出し方法
ワークシート関数は、Applicationオフジェクト内のWorksheetFunctionオブジェクト内に定義されています。
そのため、呼び出しを行う際には下記のように記載いたします。
Application.WorksheetFunction.ワークシート関数名(引数)
記述時はApplicationを省略して下記のように記載可能です。
WorksheetFunction.ワークシート関数名(引数)
使用例 : SUM関数, MAX関数を使用
SUM関数, MAX関数を用いるサンプルコードは下記の通りです。
<サンプルコード>
Sub sample()
'各店舗の合計売上(Long型の変数)を定義
Dim shopA_sum As Long
Dim shopB_sum As Long
Dim shopC_sum As Long
'全店舗の合計売上(Long型の変数)を定義
Dim shopAll_sum As Long
'各店舗の最大売上(Long型の変数)を定義
Dim shopA_max As Long
Dim shopB_max As Long
Dim shopC_max As Long
'全店舗の最大売上(Long型の変数)を定義
Dim shopAll_max As Long
'合計売上の計算
shopA_sum = Application.WorksheetFunction.Sum(Range("D5:D16"))
shopB_sum = Application.WorksheetFunction.Sum(Range("E5:E16"))
shopC_sum = Application.WorksheetFunction.Sum(Range("F5:F16"))
shopAll_sum = Application.WorksheetFunction.Sum(Range("D5:F16"))
'最大売上の計算
shopA_max = WorksheetFunction.Max(Range("D5:D16"))
shopB_max = WorksheetFunction.Max(Range("E5:E16"))
shopC_max = WorksheetFunction.Max(Range("F5:F16"))
shopAll_max = WorksheetFunction.Max(Range("D5:F16"))
'結果を出力
Debug.Print "店舗Aの合計売上 : " & shopA_sum
Debug.Print "店舗Bの合計売上 : " & shopB_sum
Debug.Print "店舗Cの合計売上 : " & shopC_sum
Debug.Print "全店舗の合計売上 : " & shopAll_sum
Debug.Print "店舗Aの最大売上 : " & shopA_max
Debug.Print "店舗Bの最大売上 : " & shopB_max
Debug.Print "店舗Cの最大売上 : " & shopC_max
Debug.Print "全店舗の最大売上 : " & shopAll_max
End Sub
<Excelのシートの記載>

<マクロ実行結果>

以上がVBAでワークシート関数を使用する方法となります。
ここまでご覧いただきありがとうございました。
初心者におすすめの書籍はこちら
VBAに詳しくなりたい方におすすめの書籍はこちら