Excel 2003 のシートコピー時に出る HTML_Control の名前の警告を消す

2010-11-3 23:52
このエントリーをはてなブックマークに追加

ある Excel のファイルのシートをコピーしようとしたら次のようなメッセージが出ました。

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

Microsoft のサイトで調べても、[挿入]-[名前]-[定義]で出てくる定義を削除するという方法が出ています。しかし ‘HTML_Control’ という名前は定義されていません。

いろいろ調べると、同じようなエラーが出ている人が多数いましたが、どうやらマクロで削除するしかないようです。

Alt+F11 で Visual Basic Editor を起動し、[挿入]-[標準モジュール]で Module1 という標準モジュールができたら次のコードを入力します。

Sub DeleteObj()
  Dim objName As Name
  For Each objName In ActiveWorkbook.Names
    objName.Delete
  Next objName
End Sub

このファイルを保存して、Excle ブックに戻り、Alt + F8を押して DeleteObj マクロを実行します。

これでブック中のすべてのオブジェクトが消えますので、シートのコピーの際にエラーが出なくなります。

一度削除してセーブしたら、Visual Basic Editor で Module1 を削除しても大丈夫です。

もちろん意図的にオブジェクトを利用している場合に不具合が出る可能性もありますので、かならずバックアップを取ってから実施してください。くれぐれも自己責任でお願いします。

2 Comments

  1. Sub DeleteObj()
    Dim objName As Name
    For Each objName In ActiveWorkbook.Names
    If objName.Name = “HTML_Control” Then
    objName.Delete
    End If
    Next objName
    End Sub

    手元にExcel2007しかないので、2003では試していないのですが、これならHTML_Controlだけ削除できると思います

    Comment by pup — 2010-11-4 20:17

  2. フォロー有難うございます。確かにこの方法の方が別のオブジェクトを削除する心配はありませんね。
    実は私の場合は HTML_Controlの他に ‘a’ というオブジェクトのエラーも同様に出ていたので、まとめてすべて削除してしまいました。

    Comment by fumi2010-11-5 21:45

Sorry, the comment form is closed at this time.

72 queries. HTML convert time: 1.263 sec. Powered by WordPress. Valid XHTML
Copyright © 2003-2017 @ futuremix.org ログイン