ワークシート関数の使い方

VBAでワークシート関数を使うには3つの方法があります。基本構文はコチラですっ。

Rangeオブジェクト.Formula = “=ワークシート関数”
WorkSheetFunction.ワークシート関数
Evaluate(“ワークシート関数”)

ワークシート関数の超ど定番であるSUM関数を例に取り上げて、3つの方法を順に見ていきたいと思います。では、まずは一番上からいきましょう。

vba_pres_WorkFunc1

左辺にあるFormulaプロパティはValueプロパティを使っても同じ結果となります。右辺を見てください。ダブルクオテーションの中にA1形式の関数式が書かれています。次に2番目の構文です。

この構文では、セルを指定するのにRangeオブジェクトを用いています。WorkSheetFunctionプロパティを使う時には、Rangeオブジェクトを使ってセルを指定するところがポイントです。但し、ワークシート上で使える全ての関数をVBAから使用できるわけではありません。一部の特殊なワークシート関数やVBA関数と同じ機能を有するワークシート関数は使用することができません。そして、3つ目ですが、ApplicationオブジェクトとWorksheetオブジェクトが持つEvaluateメソッドを使う方法です。これは、引数に指定した”式”を評価して結果を返してくれる関数です。構文は次のようになります。

このEvaluateメソッドを使えば、全てのワークシート関数をVBAで使うことができます。以上、『ワークシート関数の使い方』でございました ( ̄^ ̄)ゞ