ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

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

      2017/11/01

セル・セル範囲に名前を定義(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ソース

実行結果

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

Name プロパティ・Names コレクション 例1

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

Name プロパティ・Names コレクション 例2

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

Name プロパティ・Names コレクション 例3

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

Name プロパティ・Names コレクション 例4



まとめ

「名前」の作成


「名前」の情報取得


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


「名前」の削除


 - セルの操作 , , , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

セル範囲を結合・結合を解除(MergeCells プロパティ)

MergeCells プロパティ MergeCells プロパティは、指定したセ …

列幅を取得・設定・する(ColumnWidth プロパティ)

ColumnWidth プロパティ ColumnWidth プロパティは、対象セ …

Validation プロパティ 使用例3
入力規則(入力時メッセージの設定)Validation オブジェクト

入力規則の入力時メッセージを表示する Validation.ShowInput …

外枠罫線の設定(BorderAround メソッド)

外枠罫線の設定 罫線の設定には、Borders プロパティを使用しますが、範囲内 …

StandardWidth プロパティ・StandardHeight プロパティ 例01
セル幅・高さの既定値(StandardHeight プロパティ・StandardWidth プロパティ)

StandardHeight プロパティ・StandardWidth プロパティ …

オートフィルタ(平均より上・平均より下)AutoFilter メソッド

平均値よりも大きい(小さい)値のレコードを抽出 AutoFilter メソッドで …

セルの特定の要素のみをペーストする(PasteSpecial メソッド)

PasteSpecial メソッド PasteSpecial メソッドは、Cop …

セルに値を設定する・セルの値を参照する(Value2 プロパティ)

Value2 プロパティ Value プロパティとの違いは、Value2 プロパ …

網かけ(パターン)の取得・設定(Pattern プロパティ)

網かけ(パターン)を取得・設定する セルの背景に網かけ(パターン)を設定したり、 …

数式を設定・取得する(Formula プロパティ・FormulaR1C1 プロパティ)

Formula プロパティ(FormulaR1C1 プロパティ) Formula …