2011年2月11日金曜日

EXCELのブックに定義してある名前を一括削除

ブックに定義してある名前を一括で削除する方法です。

塚原君が手作業で名前を数十個削除していて大変そうなのでネットでプログラムをみつけて手を加えたものです。

ネットで見つけたプログラムは、全部の名前が正しく定義されていれば問題なく動作するのですが、名前にセルの名前と同じ名前が定義されているとエラーが発生してしまい、プログラムが中断してしまいました。そこで、ON ERRORを追加して、回避するように追加しました。

Sub ClearAllNames()
  On Error Resume Next 'この命令を追加し、エラーが発生したら次の命令を実行するようにした
  Dim objName As Name
  For Each objName In ActiveWorkbook.Names
    objName.Delete
  Next objName
End Sub

このプログラムの基本的な使い方はネットにありますので、私はここまでにしておきます。
例えば、こちら
http://questionbox.jp.msn.com/qa3028652.html