Evaluateメソッド
ワークシート関数を使用したいのにWorkSheetFunctionプロパティでは使用できない関数があります。
そんなときはEvaluateメソッドを使用すると、より多くのワークシート関数を扱えるようになります。
構文
Evaluate (Name)
| Name | Excelの名前付け規則を使用した、対象オブジェクトの数式または名前です。255字以内。必須。 |
Evaluateメソッドを使ったサンプルコード
'■EvaluateメソッドとAVERAGE関数
Public Sub Sample()
Range("A1:D5") = 3 '数値を入れる
Dim ave As Long
ave = Evaluate("AVERAGE(A1:D5)")
Debug.Print ave '3
End Sub
'■EvaluateメソッドとDATEDIF関数
Public Sub Sample2()
'DATEDIF関数を使う
Dim i As Long
i = Evaluate("DATEDIF(""2005/3/1"",""2016/2/28"",""Y"")")
Debug.Print i '10
End Sub
Public Sub Sample3()
'セルからデータを拾う
Cells(1, 1) = "2005/3/1" '入社日を入力
Cells(1, 2) = "2016/2/28" '退職日を入力
'Evaluateメソッドを使って勤続年数を計算する
Range("C1") = _
Evaluate("DATEDIF(""" & Range("A1") _
& """, """ & Range("B1") & """," _
& """Y""" & ")")
End Sub
注意点
- Evaluateメソッドはカッコ内にダブルクォーテーションを付けて、関数を文字列として認識させています。
さらに関数の引数を区別するための「”」と、その「”」を記号だと判断するための「”」を記述する必要があるため上記サンプルのように「”」を重ねます。



コメント