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プロパティで使用できる関数です。



コメント