このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】定義された名前の一覧をシートに書き出す方法(Names)

定義された名前の一覧をシートに書き出す方法

Excelにはセル範囲などに名前を付ける機能があります (数式タブで設定できます)

ただ、この名前はシートのコピーなどで段々と増えていって、収集が付かなくなっていくことがあります。

そこで、今回はVBAを使って名前の一覧を書き出す方法を紹介します。

シンプルなコードで確認できるので活用してみてください。

VBAが難しいと感じたら
プロにお任せして代わりに作ってもらうのはいかがでしょうか?
マクロの作成請負をしていますので、こちらからご相談ください。

定義された名前の一覧をシートに書き出すコード

Sub OutputNames()
    '''定義された名前の一覧をアクティブシートに書き出す
    
    Range("A1").Resize(, 2) = Array("名前", "参照範囲")
    
    Dim nm As Name, row_i As Long
    row_i = 2
    
    For Each nm In ActiveWorkbook.Names
        Cells(row_i, 1).Resize(, 2) = Array(nm.Name, "'" & nm.RefersTo)
        row_i = row_i + 1
    Next
End Sub

このコードを実行すると、ワークブックで定義されている名前がアクティブシート上に書き出されます。

_A1, _A2, _A3の名前が定義されていた場合

画像のように、名前と参照範囲を横並びにしているので、範囲がどこなのかを簡単に確認することができます。

不要な名前がないか確認するのに活用してみてください。

VBAが難しいと感じたら
プロにお任せして代わりに作ってもらうのはいかがでしょうか?
マクロの作成請負をしていますので、こちらからご相談ください。

VBA

Posted by やろまい