システム開発ブログ

Excel

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

Excelで資料を作成する場合に、既にあるファイルをコピーして作成することが多いと思います。

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

のダイアログが表示されることはありませんか?

名前の定義を削除しようと、名前の定義を確認しても何も表示されません。

名前の定義を確認するには

2003までは、「挿入」→「名前」→「定義」を選択し、名前の定義ダイアログを表示して下さい。
2007,2010では、[数式]タブ → [名前の管理]ボタンをクリックして、名前の管理ダイアログを表示して下さい。

名前の定義は何も表示されないのに、見えない名前定義がされているということでしょうか?
不要な名前定義が移植されているようで気持ち悪いです。

システム開発の成功メソッドがわかる冊子をお問い合わせで無料プレゼント ≫

解消方法

この問題を解決する方法があるので、書き留めておきます。
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

上記マクロを実行後、名前の定義を確認してください。
これまで表示されていなかった名前定義が表示されますので、不要なものは削除して下さい。

Excel自体が異常終了する場合があるので、不要な名前の定義を削除したらすぐに保存するといいと思います。

システム周りのお悩みを解決します

まずは無料ダウンロード

この記事に関連する記事の一覧


システム開発ブログ

Twitterでilovex_officialをフォローしてください

カテゴリー

以前の部署別ブログ

ページのトップ