[A1] のようにセルアドレスを角かっこで囲んで記述するとセルを指定できるようです。

執筆者:

カテゴリ:

目的

  • Evaluate メソッドの省略形の [ ] の記述を使用する。
  • [A1] の記述で A1 セルを操作する。

Evaluate の英語の意味をインターネットの辞書で調べてみると、「評価する」という意味が出てきました。カタカナにすると、エバリュエイト、イバリュエイトなどの読み方が出てきました。読み方が分かると覚えやすいですね。 JavaScript に eval という関数がありますが、 Evaluate が語源かもしれません。

参考資料

Application.Evaluate メソッド (Excel) | Microsoft Learn
https://learn.microsoft.com/ja-jp/office/vba/api/excel.application.evaluate

その一例

  1. 白紙のワークシートでテストしてみます。
白紙のワークシート。
白紙のワークシート。
  • 下記マクロを実行してみます。 A1 セルに文字を入力してみます。
    Sub A1に文字入力()
    [A1] = "ABC"
    End Sub
    1. 実行結果は以下のようになりました。
  • A1 セルに ABC が入力されている。
    A1 セルに ABC が入力されている。
  • 次は取得してみます。
    Sub A1の文字取得()
    Debug.Print [A1]
    End Sub
    1. 実行結果は以下のようになりました。
  • ABC
    ABC
  • A1 のアドレスを取得してみます。
    Sub A1のアドレス取得()
    Debug.Print [A1].Address
    End Sub
    1. 実行結果は以下のようになりました。
  • $A$1。アドレスが取得されている。
    $A$1。アドレスが取得されている。
  • A1 を塗りつぶしてみます。
    Sub A1を黄色で塗りつぶす()
      [A1].Interior.Color = vbYellow
    End Sub
    1. 実行結果は以下のようになりました。
  • 背景が黄色になっている。
    背景が黄色になっている。
  • A1 を選択してみます。
    Sub A1を選択()
    [A1].Select
    End Sub
    1. 実行結果は以下のようになりました。
  • A1 が選択されている。
    A1 が選択されている。
  • 省略形ではない Evaluate メソッドでも同じ事をやってみます。
    Sub 全セル削除()
    Cells.Delete
    End Sub

    Sub 省略形ではないEvaluateメソッド()
    Evaluate("A1") = "ABC"
    Debug.Print Evaluate("A1")
    Debug.Print Evaluate("A1").Address
    Evaluate("A1").Interior.Color = vbYellow
    Evaluate("A1").Select
    End Sub
    1. [A1] の時と同じ結果になりました。
  • 同じ結果になりました。
    同じ結果になりました。
    同じ結果になりました。
    同じ結果になりました。

    テスト環境

    • Windows 10(64 ビット)
    • Microsoft Office Excel 2003

    以上、閲覧ありがとうございました。