- ベストアンサー
Excel2007の「名前の重複ポップアップ」について
- Excel2007を使用している際に発生する「名前の重複ポップアップ」についての質問です。シートをコピーすると、名前の重複があるというメッセージが表示されます。しかし名前の管理タブで名前を削除しても、まだ名前の定義が残っているようです。
- 特定のシートを別のブックにコピーする場合にはこの問題は発生しないが、元のブックにあるシートをコピーすると同じ現象が起こるとのことです。名前の管理タブでも解決できない定義があるのか、解決策があれば教えてください。
- この問題に関して、Excel2007を使用している際に「名前の重複ポップアップ」が表示される現象が起こり、名前の管理タブで名前を削除しても解決しない場合があるようです。特定のシートを別のブックにコピーする場合には問題が発生しないが、元のブックにあるシートをコピーすると同じ問題が再現します。解決策があれば教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 Excel 2000、Excel 2002 で同じ名前を定義してあるシートをコピーするとエラーが発生する http://support.microsoft.com/kb/409329/ja Version は違いますが、ここに書いてある内容のことだと思います。 >そのままOKを押せば、もちろんいいのですが、 私は、あまり賛成できないのです。名前定義が構造的な配列になってしまうのではないかと思うのです。 >「名前の管理」タブでも削除できない定義があるのでしょうか? それはあるのですね。名前定義の構造は、とても複雑なようです。調べてみると、アプリケーション・レベル、ワークブック・レベル、シート・レベルと三つの格納先があるようです。VBAでも削除できないものもあるようです。 最近、同様の質問はいくつかあるようですが、 VBAでエラーメッセージが出ないようにしたい http://oshiete1.goo.ne.jp/kotaeru.php3?qid=4970298 これは、VBAですが、ここに解決のヒントがあるのですが、 #というように、Cells.Copy すればよいです。 と書かれてあるように、シートを挿入してから、Ctrl + A -> Ctrl + C で、コピー元のセル全体をコピーして、コピー先に、Ctrl + V で張り付ければよいはずです。 既存のものに関しては、マクロで削除するしかありませんね。ただし、削除できないものもあります。 フォームボタンなどに、マクロを設定してあげるとよいです。 ただ、以下のマクロは、一度では、名前は消えません。場合によって、シートの数だけ繰り返さないといけないかもしれません。 --------------------------------------------------------- '標準モジュール(Alt + F11 -->挿入 -->標準モジュール) 不要になったら、モジュールごと削除してください。 Sub TestMacro1() Dim i As Long Dim j As Long If ActiveWorkbook.Name <> ThisWorkbook.Name Then MsgBox "アクティブブックを、このブックにしてください。", vbInformation Exit Sub End If j = Application.Names.Count For i = 1 To j On Error Resume Next Application.Names(i).Delete On Error GoTo 0 Next i If Application.Names.Count > 0 Then i = j - Application.Names.Count MsgBox i & " 個、残っています。", vbInformation Else MsgBox "このシートから、名前はすべて削除しました。", vbInformation End If End Sub
お礼
詳しいご説明ありがとうございました。 おかげで原因がわかりました。 マクロに関しては、当方素人の為今後勉強いたします。