WorksheetFunctionプロパティ
普段Excelで使用しているワークシート関数をVBAでも使用することができます。
疑似的に同じ動きをするコードを書くこともできますが、
Excel関数でイメージできる処理の場合は、馴染みのあるワークシート関数を使うと便利です。
構文
Application.WorksheetFunction.ワークシート関数名
Application | Applicationオブジェクトを表す変数です。省略可。 |
ワークシート関数を使ったサンプルコード
Public Sub Sample() Range("A1:D5") = 5 '数値を入れる '■SUM関数を使って合計値を求める Dim sm As Long sm = WorksheetFunction.Sum(Range("A1:D5")) Debug.Print sm '100 '■AVERAGE関数を使って平均値を求める Dim ave As Long ave = WorksheetFunction.Average(Range("A1:D5")) Debug.Print ave '5 End Sub Public Sub Sample2() Cells(2, 2) = "A" '簡易的な表を作る Cells(3, 2) = "B" Cells(2, 3) = 20 Cells(3, 3) = 10 '■VLOOKUP関数で値を検索する Dim i As Long i = WorksheetFunction.VLookup("B", Range("B2:C3"), 2, False) Debug.Print i '10 End Sub
注意点
- IF関数のようにVBAで同等の機能を持つものは、WorksheetFunctionで呼び出すことができません。
- WorksheetFunction.の後にCntl+スペースを押すと予測変換が出てきます。
この予測変換の中にある関数がWorksheetFunctionプロパティで使用できる関数です。
コメント