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

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

  関連記事

Stop
入力規則(リストで制限する)Validation.Add メソッド

ドロップダウンリストで入力値を制限 Validation.Add メソッド(また …

書式で検索(Find メソッド,FindFormat プロパティ)

書式で検索 書式を条件にセルを検索する場合、まず、その書式条件を CellFor …

セルの値を置換(Replace メソッド)

Replace メソッド 任意のセル範囲内から特定の値を一括して置換します。Fi …

セル範囲内を検索(Find メソッド)

Find メソッド 指定したセル範囲内の特定の情報を含むセルを検索します。 【書 …

オートフィルタ(アイコンで抽出する)AutoFilter メソッド

オートフィルタ(アイコンで抽出する) Excel 2007 から、条件付き書式で …

セルを挿入する(Insert メソッド)

Insert メソッド Insert メソッドで、指定した場所に新規の空白セルを …

セル内の編集を禁止する(EditDirectlyInCell プロパティ)

EditDirectlyInCell プロパティ エクセルでは、セルをダブルクリ …

対象のセルが配列数式の一部かどうか(HasArray プロパティ)

HasArray プロパティ HasArray プロパティは、対象のセルが配列数 …

並べ替え(Sort オブジェクト, SortFields コレクション)

Sort オブジェクトによる並べ替え Excel 2007 以降のバージョンでの …

文字列の一部の書式を変更(Characters プロパティ)

文字列の一部を参照(Characters プロパティ) Characters プ …