「名前の一覧を表示する マクロ excel」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
Excelで、定義した名前の一覧を作成するマクロを探している方でしょうか。
名前の一覧を作成するサンプルマクロ
名前だけを一覧にするのではなく、名前とその名前の定義されている範囲を一覧として出力にするVBA(Visual Basic for Applications)マクロを作ってみました。
Dim nm As Name
Dim i As Long
Worksheets.Add Before:=Sheets(1)
Range("A1").Value = "名前"
Range("B1").Value = "範囲"
i = 2
For Each nm In Names
Cells(i, "A").Value = nm.Name
Cells(i, "B").Value = "'" & nm.RefersTo
i = i + 1
Next nm
End Sub
サンプルマクロの解説
メインの処理は、もちろんFor Each~Nextループです。
NamesコレクションオブジェクトからNameオブジェクトを順番にオブジェクト変数・nmに格納し、
For Each nm In Names
A列にNameプロパティを、
Cells(i, "A").Value = nm.Name
B列にRefersToプロパティを書き出しています。
Cells(i, "B").Value = "'" & nm.RefersTo
NameオブジェクトのRefersToプロパティは「=シート名!セル範囲」といった形で先頭に「=」がついた値を返すので、そのままセルに入力するとおかしなことになりますから、それを避けるために「"'" & nm.RefersTo」と「'」(シングルクォート)をつけてCells(i, "B")のValueに代入しています。
Home » エクセルマクロ・Excel VBAの使い方 » 定義された名前 » 名前の一覧を作成するExcelマクロ