エクセルVBAの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
こちらでは、シート見出しの色を設定するマクロになります。
Sub sample()
Sheets("Sheet1").Names.ColorIndex = 3
End Sub
※ドラッグ(スワイプ)すると全体を確認できます。
こちらのマクロは、NamesオブジェクトのColorIndexプロパティを利用しています。
親オブジェクト名 | 内容 |
---|---|
Chartオブジェクト | ブック内のグラフを表します。ChartObject オブジェクトに含まれている埋め込みグラフか、独立したグラフ シートのどちらかのグラフです。 |
Worksheetオブジェクト |
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
ExcelのVBAについてのQ&A掲示板↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。
VBAのIE操作入門↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。
こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。