Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » EvaluateメソッドでSUM関数を

対象:Excel 2010, Excel 2013, Windows版Excel 2016

「エクセルvba evaluate sum」
という検索キーワードでのアクセスがありました。

Evaluateメソッドで、

EvaluateメソッドでSUM関数

SUM関数を使う方法を探していらしたのでしょうか。

WorksheetFunction.Sumではダメですか?

最初に考えていただきたいのは、WorksheetFunction.Sumではダメなのか、という点です。

[スポンサードリンク]

例えば、
  MsgBox WorksheetFunction.Sum(Range("A1:A5"))
を実行すれば、A1:A5セルの合計が、メッセージボックスに表示されます。

Evaluateメソッドは、他の方法で実装できない、他の方法で実装するとデメリットが大きすぎるといった場合に使用を限定しておくほうが、私は得策だと考えています。

EvaluateメソッドでSUM関数を使うサンプルマクロ

その上で、EvaluateメソッドでSUM関数を使うなら、以下のようなSubプロシージャです。
Sub Evaluateメソッドのサンプル()
 MsgBox Evaluate("SUM(A1:A5)")
End Sub

このSubプロシージャを実行すると、
  MsgBox WorksheetFunction.Sum(Range("A1:A5"))
と同じように、A1:A5セルの合計がメッセージボックスに表示されます。

Evaluateメソッドの省略記法

Evaluateメソッドは、[ ] を使った省略した書き方が用意されているので、以下のような書き方もできます。
Sub Evaluateメソッドのサンプル2()
 MsgBox [SUM(A1:A5)]
End Sub

[ ] を使った書き方では
  [SUM(A1:A5)]
のように、SUM関数部分を「"」(ダブルクォーテーション)で括る必要がなく、省略しない場合は、
  Evaluate("SUM(A1:A5)")
と「"」で括らなければいけません。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » EvaluateメソッドでSUM関数を

「Applicationオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.