エクセルで作業していると、「名前ボックスに不要な名前が残っている」「定義された名前を削除したい」「名前ボックスのリストを整理したい」「削除できない名前の定義がある」といった問題に遭遇することはありませんか?
特に、他の人が作成したファイルを引き継いだ際には、大量の不要な名前定義が残っていて、ファイルが重くなったり、エラーの原因になったりすることもあるでしょう。
この記事では【Excel】エクセルで名前ボックスの削除・消し方(削除できない・消したい・名前の定義を消す・セル範囲名を削除)する方法について解説していきます。
ポイントは
・名前の管理機能から不要な名前定義を削除
・エラーや参照先不明の名前を一括削除
・ブック全体やシート固有の名前を整理
です。
それでは詳しく見ていきましょう。
エクセルで名前の管理から名前定義を削除する方法1【基本的な削除手順】
エクセルで名前ボックスに表示される名前を削除する最も基本的な方法は、名前の管理機能を使って不要な名前定義を個別に削除することです。
この方法なら、どの名前がどのセル範囲を参照しているかを確認しながら、安全に削除できるため非常に便利でしょう。
例えば、以下のような売上データで複数の名前定義が設定されている場合を考えてみましょう

このシートに「売上範囲」「単価リスト」などの名前が定義されており、不要なものを削除したい場合に有効です。
解決方法
まず、「数式」タブをクリックしてください。リボンの上部に表示されているタブから「数式」を選択しましょう。

「数式」タブの「定義された名前」グループにある「名前の管理」ボタンをクリックします。

「名前の管理」ダイアログボックスが開きます。ここに、ブック内で定義されている全ての名前がリスト表示されています。
リストには、名前、値(参照先)、参照範囲、スコープ(ブック全体かシート固有か)、コメントなどの情報が表示されるでしょう

削除したい名前をクリックして選択してください。選択すると、その行がハイライトされます。

名前を選択した状態で、ダイアログ上部にある「削除」ボタンをクリックします。
確認メッセージが表示されます。「この名前を削除してもよろしいですか?」という内容のメッセージが出るので、「OK」をクリックすれば削除が完了です。

削除した名前は即座にリストから消えます。複数の名前を削除したい場合は、この操作を繰り返してください。
連続した複数の名前を一度に削除したい場合は、最初の名前をクリックしてから「Shift」キーを押しながら最後の名前をクリックすると、範囲選択できます。
離れた複数の名前を選択したい場合は、「Ctrl」キーを押しながら各名前をクリックしましょう。

複数の名前を選択した状態で「削除」ボタンをクリックすれば、選択した全ての名前を一度に削除できます。
全ての削除が完了したら、「閉じる」ボタンをクリックしてダイアログを閉じてください。名前ボックスのドロップダウンリストを確認すると、削除した名前が表示されなくなっているはずです。

削除した名前を使用している数式がある場合、その数式はエラー(#NAME?)になる可能性があるため、事前に参照先を確認しておくことが重要です。「名前の管理」ダイアログの「参照範囲」列を見れば、どのセルやシートを参照しているかが分かるでしょう。
また、削除を実行した後、もし間違えて削除してしまった場合は、すぐに「Ctrl + Z」キーで元に戻すこともできます。
【操作のポイント:名前の管理機能から不要な名前定義を確認しながら安全に削除可能】
エクセルでエラーや参照先不明の名前を一括削除する方法2【問題のある名前の整理】
名前の管理ダイアログを開くと、エラーや参照先が不明な名前定義が大量に存在している場合があります。
そんな時に役立つのが、フィルター機能を使ってエラーのある名前だけを表示し、まとめて削除する方法です。
この方法なら、問題のある名前定義を効率的に整理できるでしょう。
例えば、以下のような在庫管理シートで古い名前定義が残っている場合を考えてみましょう。
| 商品名 | 在庫数 | 発注点 |
| パプリカ | =B2 | 20 |
| アボカド | =B3 | 15 |
| サーモン | =B4 | 10 |
| キヌア | 600 | 25 |
過去に削除されたシートを参照している名前や、存在しないセル範囲を参照している名前が残っている場合に有効です。
解決方法
「数式」タブをクリックして、「名前の管理」を開きましょう。

「名前の管理」ダイアログが開いたら、右上にある「フィルター」ボタンをクリックしてください。
フィルターのメニューが表示されます。ここで「エラーのある名前」を選択すると、参照先にエラーがある名前だけが表示されます。

エラーのある名前は、「値」列に「#REF!」や「#NAME?」などのエラー表示がされています。
これらは、削除されたシートやセル範囲を参照しているため、通常は削除しても問題ありません。

表示された全ての名前を選択したい場合は、最初の名前をクリックしてから「Ctrl + Shift + End」キーを押すか、リストの最初の名前をクリックして「Shift」キーを押しながら最後の名前をクリックすることで全選択できるでしょう
全ての名前を選択したら、「削除」ボタンをクリックしてください。確認メッセージが表示されるので「OK」をクリックすれば、エラーのある名前が一括で削除されます。
他にも便利なフィルターオプションがあります。「フィルター」ボタンから以下のような絞り込みができます。
– このワークシートで定義された名前:現在のシートに固有の名前だけを表示
– ブックで定義された名前:ブック全体で使える名前だけを表示
– エラーのない名前:正常な名前だけを表示

これらのフィルターを活用すれば、削除したい名前を効率的に見つけることができます。例えば、特定のシートを削除した後は、「このワークシートで定義された名前」でフィルターをかけると、そのシートに関連する名前を見つけやすくなるでしょう。
また、「値」列を見て、「#REF!」と表示されている名前は、ほぼ確実に不要な名前です。これは削除されたセルやシートを参照しているため、削除しても通常は問題ありません。
フィルターを解除して全ての名前を再表示したい場合は、「フィルター」ボタンから「すべてクリア」を選択してください。
一括削除を実行する前に、念のため重要な名前が含まれていないか確認することをおすすめします。「スコープ」列を見て、ブック全体の名前か特定のシートの名前かを確認し、「参照範囲」列で何を参照しているかをチェックしましょう。

削除後は、「閉じる」ボタンをクリックしてダイアログを閉じます。ファイルを保存すれば、削除した名前は完全に消去され、ファイルサイズも軽くなる場合があります。
【操作のポイント:フィルター機能でエラーのある名前だけを表示して一括削除が効率的】
エクセルで削除できない名前定義を強制的に削除する方法3【VBAや特殊な対処法】
通常の方法で削除できない名前定義が残っている場合もあります。
そんな時には、VBAマクロを使って強制的に削除する方法や、ファイルの構造を修正する特殊な方法が必要になることがあります。
どうしても削除できない頑固な名前定義を処理する最終手段として有効でしょう。
例えば、以下のような月次レポートで削除ボタンがグレーアウトして押せない名前がある場合を考えてみましょう。

名前の管理で削除ボタンをクリックしても削除できない、または削除してもファイルを開き直すと復活してしまう場合に有効です。
解決方法
まず、削除できない原因を確認しましょう。名前の管理ダイアログで削除できない名前を選択し、「参照範囲」を確認してください。
削除できない理由として、以下のような原因が考えられます。
– ブックやシートが保護されている
– 条件付き書式やデータの入力規則で使用されている
– 非表示のワークシートで定義されている
– ブックが共有されている
まず、ブック保護やシート保護を確認しましょう。「校閲」タブで「シート保護の解除」と「ブック保護の解除」を実行してください。

次に、条件付き書式やデータの入力規則で名前が使用されていないか確認します。
「ホーム」タブの「条件付き書式」から「ルールの管理」を開き、名前が使用されているルールがあれば削除してください。

同様に、「データ」タブの「データの入力規則」でその名前が使用されている場合も、先に入力規則を削除する必要があります。
非表示のワークシートがある場合は、それを表示させてから削除を試みましょう。シート見出しの上で右クリックして「再表示」を選択すると、非表示のシートが表示されます。

それでも削除できない場合は、VBAマクロを使った強制削除を試してください。「開発」タブが表示されていない場合は、まず「ファイル」タブ→「オプション」→「リボンのユーザー設定」で「開発」にチェックを入れて表示させましょう。


「開発」タブをクリックして、「Visual Basic」ボタンをクリックします。VBAエディタが開いたら、「挿入」メニューから「標準モジュール」を選択してください。
表示されたコードウィンドウに、以下のVBAコードを入力します。
Sub 名前の削除()
Dim nm As Name
For Each nm In ThisWorkbook.Names
nm.Delete
Next nm
End Sub
このコードは、ブック内の全ての名前定義を削除するマクロです。特定の名前だけを削除したい場合は、コードを修正する必要がありますが、全削除で問題ない場合はこのまま使用できるでしょう。
コードを入力したら、「F5」キーを押してマクロを実行してください。これで強制的に全ての名前が削除されます。
別の方法として、新しいブックに必要なデータだけをコピーする方法もあります。新しいExcelファイルを作成し、元のファイルから必要なシートやデータだけをコピーして貼り付けることで、問題のある名前定義を残さずに新しいファイルを作成できます。
新しいブックを作成 → 必要なシートを値として貼り付け → 元のファイルは閉じる

この方法なら、名前定義だけでなく、他の不要な設定やエラーもクリーンアップできるため、ファイルサイズの削減にも効果的です。
ただし、VBAマクロを使用する場合や、ファイルを作り直す場合は、必ず事前に元のファイルのバックアップを取っておくことが重要です。万が一、必要なデータまで削除してしまった場合に備えて、復元できる状態にしておきましょう。
削除後は、ファイルを保存して閉じ、再度開いて名前が完全に削除されているか確認してください。ファイルを開き直した際に名前が復活していなければ、削除は成功しています。
【操作のポイント:VBAマクロや新規ファイルへのコピーで削除できない名前も強制削除可能】
まとめ エクセルで名前の定義を消す・セル範囲名を削除する方法
エクセルで名前ボックスの削除・消し方をまとめると、名前の管理機能から不要な名前定義を確認しながら安全に削除することが基本的な方法で、フィルター機能でエラーのある名前だけを表示して一括削除すれば効率的に整理できます。
また、通常の方法で削除できない場合はVBAマクロを使った強制削除や新規ファイルへの必要データのコピーで対応でき、ブック保護やシート保護、条件付き書式での使用などが削除できない原因になっている可能性も確認する必要があります。
これらの方法を状況に応じて使い分けていけば、ほとんどの名前定義削除の問題を解決できます。
特に名前の管理機能を使った基本的な削除方法は最も安全で確実な方法として、定期的に名前定義を整理する習慣をつけることをおすすめします。
ただし、名前定義を削除すると参照している数式がエラーになる可能性があるため、削除前に参照範囲を確認し、重要な名前を誤って削除しないよう注意することも大切でしょう。
エクセルの名前定義管理機能を正しく理解して、クリーンで効率的なファイル運用を実現していきましょう!


コメント