【エクセル】シートコピーで「名前の重複」が消えない!

エクセルを使っていて、割と多く出るのがエクセルのシートをコピーした時のエラー。

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

移動またはコピーしようとしている数式またはシートには、移動またはコピー先のワークシートに既にある名前’○○○’が含まれています

または、『同じ名前がリンク先のシートに定義されています』というメッセージが表示されることもあります。

この警告メッセージは、『セルの範囲を定義している名前』の参照先がおかしくなっている場合に、よく出ます。

これの一番の問題が、「はい」を選んでも「いいえ」を選んでも定義されている名前の分だけ、ひたすらダイアログを閉じる操作を延々としないといけないこと。

下手すれば何十回、何百回と繰り返されることもあるので、この重複警告メッセージが出た時に『あーまた何回もキーボード叩かないといけないんだ』とモチベーションが下がる人もいると思います。

今回は、名前重複の警告メッセージが出ないようにする方法を紹介します。

目次

シートコピーで「名前重複の警告」を出さないようにする

さっそく、恐怖の警告メッセージ(既にある名前が含まれています)が出ないようにする方法を紹介します。

やることは、『名前の管理で参照エラーになっている名前を削除する』だけ。

名前というのは、下の画像のように『セルの場所(範囲)につけられる名前』のことです。

シートコピーで「名前重複の警告」を出さないようにする

これから、警告メッセージが出ないように名前を削除していきますが、削除していい名前かどうかは事前に確認してください。

では、シートコピーエラー(名前重複警告)の対策方法です。

下の画像のエクセルは、『シートC(3)』をコピーしようとすると警告メッセージが出る状態です。

シートコピーで「名前重複の警告」を出さないようにする

まず、名前の管理ダイアログを表示させます。

ショートカットキーだと『CTRL』+『F3』キー、アクセスキーでは『ALT』→『M』→『N』で名前の管理ダイアログが表示されます。

マウスではリボンの『数式』タブ→『名前の管理』とクリックしてください。

シートコピーで「名前重複の警告」を出さないようにする

上記名前の管理のダイアログを見ると、一番上の名前以外全て参照エラー(#REF!)になっていることがわかります。

続いて、この参照エラーを削除していきます。

参照エラーとなっている行を選択して、「削除」ボタンを押します。

シートコピーで「名前重複の警告」を出さないようにする

削除できたら『閉じる』を選択。

シートコピーで「名前重複の警告」を出さないようにする

これで、今後コピーしても名前重複の警告メッセージが出ないようになります。

『名前の管理』に名前が表示されない場合の対応

普通は、名前の管理に『定義されている名前』は全て表示されますが、まれに表示されないことがあります。

シートコピーで「名前重複の警告」を出さないようにする

この場合は、マクロ(VBA)で名前を非表示にしていることがあります。

なので、名前を表示させるマクロ(VBA)を利用します。

名前を表示させるマクロ(VBA)で名前を表示させる

では、名前を表示させるマクロの実行方法を紹介します。

まず、エクセルを開いた状態で、マクロのエディター(VBAエディター)を『ALT』+『F11』のショートカットキーで表示させます。

シートコピーで「名前重複の警告」を出さないようにする

次に、名前を表示させるVBAコード実行用の標準モジュールを追加します。

メニューの『挿入』→『標準モジュール』(アクセスキーは『ALT』→『I』→『M』)

シートコピーで「名前重複の警告」を出さないようにする

次に、赤枠のコード領域に『名前を表示させるマクロ(VBA)コード』を丸々コピー&ペースト。

シートコピーで「名前重複の警告」を出さないようにする

↓このコードをコピー(名前を表示させるマクロ(VBA)コード)

Public Sub ShowName()
    
    Dim targetName As Object
    
    For Each targetName In Names
        
        If targetName.Visible = False Then
            targetName.Visible = True
        End If
    
    Next
    
    MsgBox "名前管理で表示できるようにしました。", vbOKOnly

End Sub

コードを書き込んだので、『CTRL』+『S』で保存。

『はい』を選択

シートコピーで「名前重複の警告」を出さないようにする

本来は、マクロを含む形式の拡張子『.xlsm』で保存すべきですが、一時的にマクロを使いたいだけなので、『マクロなしのブックとして保存する』を選択します。
ただし、エクセルを開いている間はマクロの実行は可能ですが、エクセルを保存してもマクロは保存されないので注意してください。

マクロ(VBA)を使う時の警告なので、『はい』を選択

シートコピーで「名前重複の警告」を出さないようにする

VBAエディターを一旦閉じます。(『ALT』+『F4』キーか、右上の☓マークを押す)

では、マクロ(VBA)を実行させてみます。

リボンタブの『表示』→『マクロ』→『マクロの表示』か、アクセスキーだと『ALT』→『W』→『M』→『V』

シートコピーで「名前重複の警告」を出さないようにする

追加したマクロの名前(ShowName)を選択して『実行』をクリック。

シートコピーで「名前重複の警告」を出さないようにする

マクロ(VBA)の実行が完了したので、『OK』を選択

シートコピーで「名前重複の警告」を出さないようにする

これで、『CTRL』+『F3』で『名前の管理』を確認すると、名前が表示されるようになります。

シートコピーで「名前重複の警告」を出さないようにする
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次