Namesコレクション
Namesコレクションについての解説になります。
- 親オブジェクト
- Namesコレクション
- Nameオブジェクト
- Rangeオブジェクト
- Nameオブジェクト
- Namesコレクション
目次
Namesコレクションとは
Namesコレクションは、アプリケーションまたはブックにあるすべての Name オブジェクトのコレクションです。各 Name オブジェクトは、セル範囲に付けられている名前を表します。名前は、Database、Print_Area、Auto_Open などのように組み込まれている名前、またはユーザー定義の名前のどちらかです。
Names コレクションを取得するには、Names プロパティを使用します。次の使用例は、作業中のブックのすべての名前の一覧を作成し、アドレスで参照します。
Set nms = ActiveWorkbook.Names
Set wks = Worksheets(1)
For r = 1 To nms.Count
wks.Cells(r, 2).Value = nms(r).Name
wks.Cells(r, 3).Value = nms(r).RefersToRange.Address
Next
名前を新しく作成し、コレクションに追加するには、Add メソッドを使用します。次の使用例は、"Sheet1" のセル範囲 A1:C20 を参照する新しい名前を作成します。
Names.Add Name:="test", RefersTo:="=sheet1!$a$1:$c$20"
引数 RefersTo は、A1 形式で指定しなければなりません。絶対参照で指定する場合は、ドル記号 ($) を使います。たとえば、シート 1 で A10 がアクティブ セルのとき、引数 RefersTo に "=sheet1!A1:B1" と指定して名前を定義すると、新しい名前は実際にはセル範囲 A10:B10 を参照します。これは、指定が相対参照だったからです。絶対参照で指定するには、"=sheet1!$A$1:$B$1" と記述します。
単体の Name オブジェクトを取得するには、Names(index) プロパティを使用します。引数 index には、定義されている名前のインデックス番号または名前自体を指定します。次の使用例は、mySortRange という名前を作業中のブックから削除します。
ActiveWorkbook.Names("mySortRange").Delete
- Namesプロパティ
シート見出しの色を設定するサンプルコード
こちらでは、シート見出しの色を設定するマクロになります。
Sub sample()
Sheets("Sheet1").Names.ColorIndex = 3
End Sub
実行結果
解説
こちらのマクロは、NamesオブジェクトのColorIndexプロパティを利用しています。
Namesオブジェクトの親オブジェクト一覧
親オブジェクト名 | 内容 |
---|---|
Chartオブジェクト | ブック内のグラフを表します。ChartObject オブジェクトに含まれている埋め込みグラフか、独立したグラフ シートのどちらかのグラフです。 |
Worksheetオブジェクト |
Namesオブジェクトのプロパティ一覧
- Namesオブジェクト(ColorIndexプロパティ)のプロパティ
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。