1つのエクセルブックを長く使っていると、名前(メニューバーの「挿入」>「名前」の名前)とスタイル(メニューバーの「書式」>「スタイル」のスタイル)がいつの間にか大量に増えていることがあります。

一見しても増えていることはわかりません。また、意図して使っているのであれば問題ありません。

が、特に意識していなければ、いつの間にか以下のような悪影響を及ぼしている可能性があります。
  • テキストファイルのみのエクセルファイルにもかかわらず妙にサイズが大きい。
  • パソコン自体の動きは快適なのに、特定のエクセルファイルの編集に妙に時間がかかる(重い)。
  • 名前が他のフォルダのエクセルファイルに紐付けされてしまっている。

特に、「名前が他のフォルダのエクセルファイルに紐付けされてしまっている」と、そのフォルダ名に特定のプロジェクト名や、顧客名が使われていた場合、そのエクセルファイルを使いまわせば、「あ、こんなプロジェクトが進行してるのか」「この企業とも付き合いあるんだな」などという情報が漏れてしまう可能性があります。

さらに厄介なのが、こういう状態になったブックのシートを新しいブックに移動すると、そのブックにも大量の名前とスタイルがコピーされてしまう点
まさに負の連鎖。


ということで、不要な「名前」や「書式」を削除しようと試みることはあるかと思いますが、残念ながらエクセル2003の時点では一括削除するボタンは無く、全選択して削除もできません。
つまり、1つ1つ消していかなければならないということで、非常に手間がかかります。また、一部の書式においては、何故か削除できない場合もあります。

そこで、マクロを使って一括削除すると楽チンです。

以下が一括削除するマクロです。

実行方法としては、シート名タブ(Sheet1など)を右クリックし、「コードの表示」を選択、出てきた画面に以下のいずれかのマクロを貼り付けて、実行する(「│>」ボタンをクリックする)だけです。
実行完了したら、貼り付けたマクロは消してしまってかまいません。

■スタイルの一括削除マクロ

Sub delstyle()
Dim s
On Error Resume Next
For Each s In ActiveWorkbook.Styles
If Not s.BuiltIn Then
s.Delete
End If
Next
End Sub


■名前の一括削除マクロ

Sub delname()
Dim s
On Error Resume Next
For Each s In ActiveWorkbook.Names
If Not s.BuiltIn Then
s.Delete
End If
Next
End Sub



【2013年6月14日 追記】

新しいバージョンのエクセルでスタイルなどをサクッと消してくれるツールがありました。
インストールが必要ですが、確実に消したいのであればこちらがオススメ。
Excel File Cleaner(http://excelfilecleaner.codeplex.com/)



【2013年6月26日 追記】

マイクロソフト公式(Excel で最後のセルをリセットする方法:KB244435)で、余分な書式を削除して最後のセルをリセットする Excel アドインのサンプルが紹介されています。
ファイル サイズが必要以上に大きくなったり、余分なページが印刷されたり、"メモリ不足" を表すエラー メッセージが表示されたりする」ことの解決に役立つ場合があるらしいですので、お困りの方は試す価値があると思います(特にメモリ不足エラー)。

ダウンロードはこちら(http://xsformatcleaner.codeplex.com/)

エクセル2003以前、2007、2010、および 2013に対応しているようです。


以下、ダウンロード後の手順を上記公式サイトから引用します。

  1. Excel を起動し、実行している Excel のバージョンに応じて、次の手順を実行します。
    Microsoft Office Excel 2007、2010、および 2013
    1. Microsoft Office ボタンをクリックし、[Excel のオプション] をクリックします。
    2. [アドイン] をクリックし、[管理] ボックスの一覧の [Excel アドイン] をクリックして [設定] をクリックします。
    3. ファイルを Library フォルダーに保存しなかった場合は、[参照] をクリックし、[参照] ウィンドウでファイルを見つけてクリックします。
    4. [Excess Format Cleaner 1.1] チェック ボックスをオンにし、[OK] をクリックします。
    Microsoft Office Excel 2003 およびそれ以前のバージョンの Excel
    1. [ツール] メニューの [アドイン] をクリックします。
    2. ファイルを Library フォルダーに保存しなかった場合は、[参照] をクリックし、[参照] ウィンドウでファイルを見つけてクリックします。
    3. [Excess Format Cleaner 1.1] チェック ボックスをオンにし、[OK] をクリックします。
  2. Excel 2007 では、[アドイン] タブをクリックし、[メニュー コマンド] の [Clear Excess Formats in XSFormatCleaner.xla] をクリックします。
    Excel 2003 およびそれ以前のバージョンの Excel では、クリーンアップするブックを開き、[ファイル] メニューの [Clear Excess Formatting in workbook] をクリックします。マクロによって、ファイル内のすべてのワークシートから余分な書式が消去されます。
    マクロが完了すると、変更を確定するにはブックを保存する必要があるというメッセージが表示されます。
  3. ファイルを保存して閉じ、もう一度開きます。