目次

目的

  • Excel の「名前の定義」を VBA で操作したい。
  • 名前の新規定義、範囲取得を行う。

目次まで戻る

定義状況

現在の名前の定義状況を見てみます。

  1. Excel ツールバー > 挿入 > 名前 > 定義をクリック。
    「定義」をクリック。
    「定義」をクリック。
  2. 「名前の定義」ダイアログが表示されました。名前の定義はされていないようです。
    「名前の定義」ダイアログ。
    「名前の定義」ダイアログ。

目次まで戻る

定義追加

  1. 以下のワークシートでテストしてみます。「Sheet1」の「A1:A3」の範囲に A,B,C と入力されています。
    「Sheet1」の「A1:A3」。
    「Sheet1」の「A1:A3」。
  2. 現在のワークブックに「AtoC」という名前の定義を追加してみます。参照範囲は「Sheet1」の「A1:A3」です。実行してみます。

    Sub 名前の定義の設定テスト()
    ThisWorkbook.Names.Add Name:="AtoC", RefersTo:="=Sheet1!$A$1:$A$3"
    End Sub
  3. 「名前の定義」ダイアログに「AtoC」の定義が追加されています。
    「AtoC」が新規追加されている。
    「AtoC」が新規追加されている。

目次まで戻る

日本語の名前を定義

  1. 定義する名前は日本語でも設定可能なようです。
    Sub 日本語で定義()
    ThisWorkbook.Names.Add Name:="AからC", RefersTo:="=Sheet1!$A$1:$A$3"
    End Sub
  2. 「名前の定義」ダイアログに「AからC」が追加されています。
    日本語でわかり易いですね。
    日本語でわかり易いですね。

目次まで戻る

定義取得

  1. 上記で定義した「AtoC」の参照範囲を取得してみます。「RefersToRange」プロパティで Range オブジェクトを取得しています。
    Sub 名前の定義取得()
    MsgBox ThisWorkbook.Names("AtoC").RefersToRange.Address
    End Sub
  2. 「A1:A3」の参照範囲を取得できました。
    参照範囲を取得出来ました。
    参照範囲を取得出来ました。

テスト環境

  • Windows 10
  • Microsoft Office Excel 2003

私の場合、名前の定義は、今まで使う機会がなかったですが、見たことのないプロパティだったので少し調べてみました。

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

 

目次まで戻る

同じカテゴリの投稿(Excel VBA)

前後の投稿