Home » エクセルマクロ・Excel VBAの使い方 » 定義された名前 » 名前の一覧を作成するExcelマクロ

名前の一覧を作成するExcelマクロ

対象:Excel2003, Excel2007, Excel2010, Excel2013

名前の一覧を作成するマクロ

「名前の一覧を表示する マクロ excel」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

Excelで、定義した名前の一覧を作成するマクロを探している方でしょうか。

[スポンサードリンク]

名前の一覧を作成するサンプルマクロ

名前だけを一覧にするのではなく、名前とその名前の定義されている範囲を一覧として出力にするVBA(Visual Basic for Applications)マクロを作ってみました。

Sub 新規ワークシートに名前の一覧を作成する()
  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

  Columns("A:B").AutoFit
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マクロ

「定義された名前」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.