VBAのEvaluateメソッド
こちらでは、エクセルVBAのEvaluateメソッドの解説になります。
メソッドとは、オブジェクトを操作する命令文のことでオブジェクトの動作になります。 メソッドを利用するにはオブジェクト名とメソッド名の間に「.(ピリオド)」で結んで記述します。
オブジェクト名.メソッド名
目次
Evaluateメソッド
Evaluateメソッドは、使用する名前を、オブジェクトまたは値に変換します。
expression.Evaluate(Name)
expression Application オブジェクトでは省略可能です。Chart オブジェクト、および Worksheet オブジェクトでは必ず指定します。対象となる Application、Chart、Worksheet オブジェクトへのいずれかを返すオブジェクト式を指定します。
Name 必ず指定します。文字列型 (String) の値を使用します。Excel の名前付け規則に従って、対象オブジェクトの名前を指定します。
このメソッドでは、次のような種類の名前を使用できます。
A1 形式の参照。単一セルに対する A1 形式の参照であれば、特に制限はありません。ただし、このメソッドでは、参照は常に絶対参照として扱われます。
範囲。参照とともに使うことのできる演算子には、セル範囲を表す参照演算子 (:)、セル参照の共通部分を表す参照演算子 (スペース)、および、セル参照の複数選択を表す参照演算子 (,) があります。
定義された名前。コード記述時の言語で、定義された名前を指定します。
外部参照。外部参照には、感嘆符 (!) を使います。外部参照は、単一のセルに対する参照でも、他のブックで定義された名前でもかまいません。たとえば、Evaluate("[BOOK1.XLS]Sheet1!A1") のように指定します。
Evaluate メソッドの代わりに角かっこを使っても、同じ結果が得られます ([A1:C5] など)。たとえば、次の 3 組のコードでは、組ごとにそれぞれ同じ動作を表します。
[a1].Value = 25
Evaluate("A1").Value = 25
trigVariable = [SIN(45)]
trigVariable = Evaluate("SIN(45)")
Set firstCellInSheet = Workbooks("BOOK1.XLS").Sheets(4).[A1]
Set firstCellInSheet = _
Workbooks("BOOK1.XLS").Sheets(4).Evaluate("A1")
角かっこを使用すると、コードの記述を簡単にすることができます。Evaluate メソッドでの利点は、引数が文字列であることです。つまり、引数として指定する文字列をコード内で生成したり、あるいは、Visual Basic の変数を使うことができます。
次の使用例は、シート 1 のセル A1 のフォントに、太字を設定します。
Worksheets("Sheet1").Activate
boldCell = "A1"
Application.Evaluate(boldCell).Font.Bold = True
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。