Excelのシートコピーで「名前は既に存在しています」メッセージを解決する方法

スポンサーリンク

はじめに

Excelファイルを修正していてシートをコピーした時、「名前は既に存在しています」のメッセージ画面が表示されることがあります。

名前 ’<文字列>’ はすでに存在します。この名前にする場合は [はい] をクリックします。移動またはコピーを行うために ‘<文字列>’ の名前を変更する場合は、 [いいえ] をクリックします。

Excelのバージョンが古い場合は以下のメッセージです。

移動またはコピーしようとしている数式またはシートには、移動またはコピー先のワークシートに既にある名前'***'が含まれています。この名前を使用しますか?コピーまたは移動先のシートに定義されている名前を使用する場合は[はい]をクリックします。数式またはワークシートで参照する範囲の名前を使用する場合は[いいえ]をクリックし、[名前の重複]ダイアログボックスに新しい名前を入力します。

このメッセージは「名前の定義」機能が影響しています。仕事で複数のメンバーが使用しているExcelでたまに見かけることがあります。誰かが作業を効率化するために「名前の定義」機能を使ったが、その後メンテナンスされないパターンです。

このメッセージが表示されると、[はい]、[いいえ]のボタンを何度もクリックすることになります。しかもシートをコピーするたびに実施しなければなりません。かなり手間がかかるので根本解決しておきましょう。

対応方法

「名前の定義」設定をすべて削除する。

  1. 「Ctrl」+「F3」キーを押下します。
  2. 名前の管理画面が表示されるので、登録されている名前をすべて削除します。
  3. 画面を閉じて完了です。

上記で解決できない、もしくは名前の登録がない場合は「非表示の名前の定義」が存在している可能性があります。以下の手順を実行して下さい。

  1. Alt + F11 を押下します。
  2. 「Microsoft Visual Basic for Applications」ウィンドウが表示されるので、プロジェクト内の「ThisWorkbook」をダブルクリックします。
  3. 以下のコードを貼り付けて実行します。
Sub DisplayName()

Dim name As Object

For Each name In Names
    If name.Visible = False Then
        name.Visible = True
    End If
Next

End Sub

名前の管理画面に非表示だった名前が表示されるので、削除して完了です。

コメント