Excelシートをコピーしようとすると「移動またはコピーする数式またはシートには、移動またはコピー先のワークシートに既にある名前「???」が含まれています。この名前を使用しますか?」が表示される
Excelでシートをコピーしようとすると、下記のメッセージが繰り返し表示されるとの連絡を受け、調査しました。
ワークシートにある名前
ワークシートにある名前は、数式をわかりやすくするために、セルに対して設定するものです。
下記の画像では、セルB3に「数量」、C3に「単価」という名前が設定されており、D3では「数量*単価」という名前を指定して計算しています。
エラーの原因
シートをコピーしようとして、セルにつけた名前が重複することから、警告を発しているようです。
ただ、名前を設定したシートをコピーしても警告が出ないことも多いです。なぜ「移動またはコピーする数式またはシートには・・・」のエラーが発生するのか、根本原因はよくわからないです。
エラー解消方法
とりあえず、エラー原因が名前の重複なので、あらかじめ名前を削除すればよいです。
メニューの数式 → 名前の管理 で、名前の管理ダイアログを表示し、設定された名前を全て削除してください。
これでもエラーが出る場合は、見えない名前が設定されている可能性があります。
この場合は、Altキー+F11 でVBA Editorを起動し、Module追加して下記のスクリプトをコピペし、実行してください。
1. Public Sub 名前表示() 2. Dim objName As Object 3. Dim Cnt As Long 4. 5. For Each objName In Names 6. If objName.Visible = False Then 7. objName.Visible = True 8. Cnt = Cnt + 1 9. End If 10. Next 11. MsgBox Cnt & “個の名前を表示しました。”,vbInformation 12. End Sub |
スクリプト実行後に、再度名前の管理ダイアログを表示すると、今まで見えなかった名前が表示されるので、全て削除してください。
名前の管理ダイアログの削除ボタンが有効にならない
名前の管理ダイアログで、名前を削除しようにも、削除ボタンが有効にならない場合があります。
この原因は、削除しようとしている名前が含まれるシートが、保護されているためです。
シートの保護を解除すると、削除可能になります。