Excelで増殖したセルのスタイル(書式)を一括で削除する

Excelでファイルサイズが異様に大きくなっている時に、セルのスタイルが異常に増殖している事があります。

原因は不明ですが、どうやら"シートを複製する"、"セルをコピペする"操作で増殖するみたいです。

以下のネームドが増えまくる問題に似ていますね。 honeshabri.hatenablog.com

以下画像の赤枠の書式欄ですが、見えている部分の様子が既に少々おかしいです。

f:id:Takachan:20180705002821j:plain

展開するとスタイル定義が大量に存在しています。

f:id:Takachan:20180705003244p:plain

多分1万個くらいあると思います…

f:id:Takachan:20180705003302p:plain

以下のように、1つ1つの定義は手動で削除できるのですが、定義の量が多いと手作業は現実的ではありません。

f:id:Takachan:20180705003349p:plain

Excel File Cleanerで余計な書式を削除する

この状況を解消するために「Excel File Cleaner」を使用します。

これは、先述のスタイルを全て消去して初期状態にリセットするためのツールになります。

注意:

スタイルを使用しているファイルだとファイル内の書式がすべて消えて見た目崩壊する可能性があるのでご注意ください。

先ずは公式サイトからソフトをダウンロードしてインストールします。

archive.codeplex.com

で、インストールした後起動した状態がこちら。

f:id:Takachan:20180705003432p:plain

「Open ans Clean」ボタンを選択してスタイルを削除したいExcelを選択します。

ファイル選択すると即座に処理が開始され、ログが画面に流れ始めます。

f:id:Takachan:20180705003544p:plain

オリジナルのファイルは対象ファイルと同じ階層に「***_BACKUP.xlsx」として保存されているので万が一、内容がおかしくなった場合も安心です。

で、実行後は以下のように既存のスタイルが消滅します。

f:id:Takachan:20180705003623p:plain

この方法の良いところですが、外部ツールを使用するため、対象のExcelファイルを開かなくても(開けない状態{たとえばメモリ不足とか})でも使用できる点だと思います。また、VBSを自作すると説明が難しい場合があるのでエンジニア以外の型でも簡単に使用できます。

他の方法で消す

上記の他にもいろいろ方法があるためリンクで紹介します。

Excel内のVBSを自作して消す方法

qiita.com

MS公式の書式削除ツールを使用する

説明ページ https://support.microsoft.com/ja-jp/help/244435/how-to-reset-the-last-cell-in-excel

ツールダウンロードページ https://archive.codeplex.com/?p=xsformatcleaner