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メソッドはカッコ内にダブルクォーテーションを付けて、関数を文字列として認識させています。
さらに関数の引数を区別するための「”」と、その「”」を記号だと判断するための「”」を記述する必要があるため上記サンプルのように「”」を重ねます。
コメント