VBAでエクセル関数を呼び出して使用する方法を説明します。
VBAでエクセル関数を呼び出す
関数の呼び出し方
VBAではエクセル関数を呼び出して使うことができます。その方法は、ApplicationオブジェクトのWorksheetFunctionプロパティを利用します。
《エクセル関数の呼び出し》
Application.WorksheetFunction.関数名(関数の引数)
関数の呼び出し例

エクセル関数を呼び出し、上記の表で何人分のデータが記載されているのかを確認します。
サンプルコード
Sub sample() Dim num As Integer num = Application.WorksheetFunction.CountA _ (Range(Cells(3, 2), Cells(10, 2))) MsgBox (num & "人分のデータです。") End Sub

エクセル関数をVBAで使用する利点
エクセル関数を使用する利点は、処理を書くのが楽になることです。例えば次のような感じです。

1)エクセル関数を利用しない場合
エクセル関数を使わずにコードを書いた場合です。
サンプルコード
Sub sample() Dim ave As Double Dim dum As Double Dim num As Double Dim col As Double col = 3 dum = 0 num = 0 Do Until Cells(col, 3) = "" dum = dum + Cells(col, 3) num = num + 1 col = col + 1 Loop ave = dum / num MsgBox ("身長の平均は" & ave & "cmです。") End Sub

2)エクセル関数を利用する場合
次にエクセル関数を利用してコードを書いた場合です。
サンプルコード
Sub sample() Dim ave As Double ave = Application.WorksheetFunction.Average _ (Range(Cells(3, 3), Cells(10, 3))) MsgBox ("身長の平均は" & ave & "cmです。") End Sub
結果は先ほどと同様です。エクセル関数を利用した方がコードが短くすっきりします。
特段コードの書き方にこだわりがなければ、エクセル関数を利用した方がコードを書くのが楽になるのでお勧めです。
コメント