Home » エクセルマクロ・Excel VBAの使い方 » VBAでワークシート関数を利用するには-WorksheetFunctionプロパティ

VBAでワークシート関数を利用するには-WorksheetFunctionプロパティ

対象:Excel97, Excel2000, Excel2002, Excel2003

最近のMicrosoft Officeのマクロは、VBA(Visual Basic for Applications)を使って記述します。

VBAは文法的には、プログラミング言語VB(Visual Basic)と同じなので、VBがわかる人ならVBAはすぐに使えますし、VBAがちゃんとわかっている方ならもう少し勉強するとVBを使えるようになります。

そんな兄弟関係にあるVBとVBAですが、VBAの方が便利な点と言えば、VBAのAの部分、「for Applications」の部分でしょう。

つまり、Word・Excel・PowerPointといった各Officeアプリケーションの特長的な部分を利用できる点が、VBAのVBに対する優位性としてあげられると思います。

Excelの特長的な機能というのはいろいろありますが、ワークシート関数はその一つです。

[スポンサード リンク]

VBAでワークシート関数を使う書き方

VBAにはVBA内で利用できるVBA関数が多数用意されていますが、それ以外にExcel VBAではExcelのワークシート関数もVBAの中で利用できるわけです。(但し、すべてのワークシート関数が利用できるわけではありません。)


▼VBAの中でワークシート関数を利用する記述方法
WorksheetFunction.ワークシート関数名

例えば、VBAの中でA1:A1000セルの合計を求めるのならば、
 WorksheetFunction.Sum(Range("A1:A1000"))
といった記述をします。

WorksheetFunctionオブジェクトに含まれるメソッドとして、SUM関数を利用していることになります。

プログラマな方の場合、自分の希望する処理を行う関数が用意されていない場合、自分で関数を作成するということはよく行うわけですが、Excel VBAの場合ワークシート関数が利用できるわけですから、ワークシート関数に自分の希望する処理に利用可能なものがないかを調べてみるというのは必要なことだと思います。

また、プログラムの中では様々なループ処理が行われるものですが、For〜Nextなどのループ処理を行うよりも、ワークシート関数を利用してしまう方が簡単かつ高速に処理できてしまうことも少なくありません。

折角ExcelのVBAを利用するのならば、Excel固有の機能・ワークシート関数の利用は前向きに考えるべきじゃないかと思います。

Application.ワークシート関数という書き方について

なお、
 WorksheetFunction.Sum(Range("A1:A1000"))
ではなく
 Application.Sum(Range("A1:A1000"))
といった記述を見かけることもあります。

「Application.Sum(Range("A1:A1000"))」は、古いバージョンとの互換性で許可されている記述方法です((Excel 95まではワークシート関数はApplicationオブジェクトのメソッドとして利用していました))ので、現在は、
 WorksheetFunction.Sum(Range("A1:A1000"))
あるいは、
 Appllication.WorksheetFunction.Sum(Range("A1:A1000"))
といった記述を使うべきです。

Home » エクセルマクロ・Excel VBAの使い方 » VBAでワークシート関数を利用するには-WorksheetFunctionプロパティ

トラックバック:3

TrackBack URL
VBAで使用できるワークシート関数一覧 from インストラクターのネタ帳
対象:Excel 97,2000,2002,2003 VBA(Visual Basic for Applications)でワークシート関数を利用できることをご紹介しましたが、VBE(Visual Basic Editor)のヘルプ「Visual Basic で使用できるワークシート関数一覧」を元に、ワークシート関数の中でVBAで利用可能な関...
空白行を削除するマクロ from インストラクターのネタ帳
対象:Excel2002, Excel2003, Excel2007, Excel2010 「エクセル マクロ 空白行削除」 「Exce VBA 空白の...
VBAで奇数・偶数判定を行う-Mod演算子 from インストラクターのネタ帳
Excel(エクセル)VBAで奇数・偶数の判定を行うには、割り算をしたときの余りを求める演算子Modを使って、2で割り算をした余りが0かどうかを調べるのが...

Home » エクセルマクロ・Excel VBAの使い方 » VBAでワークシート関数を利用するには-WorksheetFunctionプロパティ

「エクセルマクロ・Excel VBAの使い方」の記事一覧

検索

このページの上部へジャンプ

.