関数・メソッド

ワークシート関数を使って処理を行う【WorksheetFunctionプロパティ】【ExcelVBA】

WorksheetFunctionプロパティ

普段Excelで使用しているワークシート関数をVBAでも使用することができます。
疑似的に同じ動きをするコードを書くこともできますが、
Excel関数でイメージできる処理の場合は、馴染みのあるワークシート関数を使うと便利です。

構文
Application.WorksheetFunction.ワークシート関数名

ApplicationApplicationオブジェクトを表す変数です。省略可。

ワークシート関数を使ったサンプルコード

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

関連記事

コメント

タイトルとURLをコピーしました