crazycat

just a moment plz!

Excelの見えない名前定義を削除する方法

6月10

他の人が作成したExcelを流用したりした際に、シートをコピーしようとすると

「移動またはコピーする数式またはシートには、移動またはコピー先のワークシートに既にある名前’ああああ’が含まれています。この名前を使用しますか?」

などと見えない名前定義の回数分ダイアログが表示されてウザい、かついらない名前定義が移植されて気持ち悪かったのですが、この程完全解決策が見つかりましたので、書き留めておこうと思います。

VBA Editorを起動して、Moduleファイルを追加したのち、以下のロジックをコピーして下さい。

Public Sub DeleteNames()
    Dim wName As Object
    Dim wCnt As Long

    For Each wName In Names
        If wName.Visible = False Then
            wName.Visible = True
            wCnt = wCnt + 1
        End If
    Next
    If wCnt <> 0 Then
        MsgBox wCnt & "個の名前定義が見つかりました。",vbInformation
    Else
       MsgBox "非表示の名前定義はありません。",vbExclamation
    End If
End Sub
上記マクロを実行後、「挿入」→「名前」→「定義」を選択し、名前の定義ダイアログを表示して下さい。
これまで見られなかった名前定義が出て来ていますので、不要なものは削除して下さい。
※上記サンプルはPrint_Titlesなどの問題もあるので、あえて削除ロジックは挿入していません。
ただ、外部ファイルを参照している名前定義は、名前定義ダイアログ上の操作で消えない場合がありますが、
その場合は何度か実行してみて下さい。
また、その場合、Excel自体が異常終了する場合があるので、名前の定義ダイアログを閉じたらすぐにセーブする事
をお勧めします。
posted under Software
One Comment to

“Excelの見えない名前定義を削除する方法”

  1. On 3月 16th, 2012 at 1:00 PM hichautheda Says:

    :)

Email will not be published

Website example

Your Comment: