ExcelWork.info

セル・セル範囲に名前を定義・削除(Name プロパティ・Names コレクション)

セル・セル範囲に名前を定義(Name プロパティ)

Range オブジェクトName プロパティを使用して、セルやセル範囲に、「名前」を定義します。

Name プロパティを使用し「名前」を定義すると、「ブックレベルの名前」として登録されます(エクセルの「名前管理」ダイアログボックスを表示した時、「範囲」の列に「ブック」と表示されます)。

Name プロパティ

【書式】

<取得>
result = Object.Name

<設定>
Object.Name = string

引数・戻り値

  • object  ・・・  対象となる Range オブジェクト
  • string  ・・・  セル・セル範囲に定義する「名前」を指定します。(文字列)
  • result  ・・・  セル・セル範囲に定義されている「名前」。指定した範囲に「名前」が定義されていない場合はエラーとなります。


セル・セル範囲に名前を定義・削除(Names コレクション)

Names コレクションは、セルやセル範囲に、「名前」を定義したり、削除したりすることができます。

Names コレクションAdd メソッドを使用して「名前」を定義した場合は、「ブックレベルの名前」または、「ワークシートレベルの名前」のいずれかで登録することができます。(エクセルの「名前管理」ダイアログボックスを表示した時、「ブックレベル」の場合は、「範囲」の列に「ブック」と表示され、「ワークシートレベル」の場合は、「シート名」が表示されます)。

Names コレクション(Add メソッド)

【書式】

Object.Names.Add ( [ Name, RefersTo, Visible, MacroType, ShortcutKey, Category, NameLocal, RefersToLocal, CategoryLocal, RefersToR1C1, RefersToR1C1Local ] )

引数・戻り値

  • object  ・・・  対象となる Names オブジェクト
    ここに、Workbook オブジェクトを指定すると、「ブックレベル」の Names コレクションを、Worksheet オブジェクトを指定すると、「シートレベル」の Names コレクションを、取得・設定することができます。
  • Name  ・・・  「名前」として使用する文字列を指定します。(省略可)
  • RefersTo  ・・・  「名前」と関連付けるセル範囲を指定します。参照が存在しない場合は、Nothing が返されます。(省略可)
  • Visible  ・・・  「名前」を表示する場合は True を指定、非表示にする場合は False を指定します。非表示の場合は、[名前の定義]、[名前の貼り付け]、および [ジャンプ] ダイアログ ボックスに表示されません。既定値は True です。(省略可)
  • MacroType  ・・・  マクロの種類を、次のいずれかの値で指定します。
    1・・・ユーザー定義関数 (Function プロシージャ)
    2・・・マクロ (Sub プロシージャ)
    3・・・なし (定義した名前はユーザー定義関数またはマクロを参照しません)
    既定値は 3 です。(省略可)
  • ShortcutKey  ・・・  マクロが設定されている場合のショートカットキーを指定します。(省略可)
  • Category  ・・・  引数 MacroType1 または 2 のときに、「名前」が参照するマクロや関数の分類を指定します。(省略可)
  • NameLocal  ・・・  引数 Name が指定されていない場合は、名前として使用する文字列(日本語等)を指定します。名前には、スペースを含めることはできません。(省略可)
  • RefersToLocal  ・・・  引数 RefersToRefersToR1C1、および RefersToR1C1Local が指定されていない場合は、A1 形式の表記法を使用して、文字列で名前の参照先を指定します。(省略可)
  • CategoryLocal  ・・・  引数 Category が指定されていない場合は、ユーザー設定関数の分類を示す文字列を指定します。(省略可)
  • RefersToR1C1  ・・・  引数 RefersToRefersToLocal、および RefersToR1C1Local が指定されていない場合は、R1C1 形式の表記法を使用して名前の参照先を指定します。(省略可)
  • RefersToR1C1Local  ・・・  引数 RefersToRefersToLocal、および RefersToR1C1 が指定されていない場合は、R1C1 形式の表記法を使用して文字列(日本語等)で名前の参照先を指定します。(省略可)
  • result  ・・・  作成した「名前」を表す Name オブジェクト

Names コレクション(Item メソッド)

【書式】

Object.Names.Item ( [ Index, IndexLocal, RefersTo ] )

引数・戻り値

  • object  ・・・  対象となる Names オブジェクト
  • Index  ・・・  対象の定義名またはインデックス番号を指定します。
  • IndexLocal  ・・・  定義名の名前を日本語等(ユーザーの言語)で指定します。
  • RefersTo  ・・・  「名前」が参照するセル範囲を指定します。
  • result  ・・・  コレクションに含まれる Name オブジェクト

3つの引数は、省略可能ですが、必ず 1 つだけ引数を指定するようにしてください。

Names コレクション(プロパティ)

【書式】

Object.Names.Application

Object.Names.Count

Object.Names.Creator

Object.Names.Parent

項目の説明

  • object  ・・・  対象となる Names オブジェクト
  • Application  ・・・  オブジェクトを返すプロパティです。対象となるオブジェクトが指定されない場合は、Excel アプリケーション (Application オブジェクト) を返します。対象となるオブジェクトが指定された場合は、指定されたオブジェクトを作成した Application オブジェクトを返します。値の取得のみ可能です。
  • Count  ・・・  コレクションに含まれるオブジェクトの数を表す長整数型(Long)の値を返します。
  • Creator  ・・・  指定されたオブジェクトを作成したアプリケーションを、32 ビットの整数値で返します。値の取得のみ可能です。長整数型(Long)の値を使用します。
  • Parent  ・・・  指定されたオブジェクトの親オブジェクトを返します。値の取得のみ可能です。


「名前付きセル範囲」使用例

サンプルVBAソース

実行結果

作成した「名前付き範囲」の名前・アドレスを表示



修正した「名前付き範囲」の名前・アドレスを表示



シートレベルの「名前付き範囲」を削除したあとの「名前付き範囲」を表示



すべての「名前付き範囲」を削除



まとめ

「名前」の作成


「名前」の情報取得


「名前」のセル範囲取得・セル範囲の変更


「名前」の削除