MENU > Excelファイルが開かない場合の対処方法 - Excel2000編

 Excelファイルが「表示形式を追加できません。」 エラーで開けない場合の
対処方法をまとめて見ました。
 「セルの書式が多すぎるため、書式を追加できません」エラーで、書式が追加
できない場合も含みます。
 対象は、Excel2000ですがExcel97でもOKなはづです。

該当するMSのサポート技術情報

[XL2000]"表示形式を追加できません"エラーが書式設定時に発生する
http://support.microsoft.com/default.aspx?scid=kb;ja;213904
エラーが表示されるたびにOKを押せとは。
それと、表示形式4,000の制限にも問題がありそうです。(後述)

"表示形式を追加できません" と表示される場合の対処方法
http://support.microsoft.com/default.aspx?scid=kb;ja;882115
ファイル破損や、Windows9x系OSの場合は、システムリソース不足も
原因になるようです。

根本的な解決方法

[XL2003] ファイルにアクセスできなくなった場合の原因と対策

http://support.microsoft.com/default.aspx?scid=kb;ja;411636
Excelの外部参照数式によってデータを抽出する方法がおすすめです。

[XL97]メモリを節約するワークシートの作成方法

http://support.microsoft.com/default.aspx?scid=kb;ja;405485

 他に重要な注意点は、シートの枚数です。
 シートの作成枚数は、使用可能メモリに依存します。
 シートの枚数を多くすると、ファイルが開かなくなる事故が多発しています。
 ですから、1ブックで多くのシートを運用せず、複数のブックに分ける必要も出てきます。

 この問題の根本的解決方法は、

1) 縦長の表を作って(列数を少なくする)

2) 必要最低限の書式のみ利用し

3) データが多い場合は、シートを多く増やさずに複数のブックに分け

4) ブックを新規に作り直す

5) システムリソース不足を解消する(後述 Windows98/Me等のWindows9x系OSのみ)

6) HDDの破損を修復する(後述)

 ということでしょうか。
 また、おすすめは、

7) データが特に多い場合は、シート上のワークシート関数で計算せず、マクロで計算する

 データだけ値でシート上に持って、計算はVBAで必要な時実行します。

8) 社内でブックを配布する場合は、マクロ用とデータ用にブックを分ける

 コードの変更等のメンテナンスが楽になります。

 Excelブックは、操作の履歴を保存してしまうので、単純に書式等を消しても
ブックの中にいろいろとゴミが残ってしまいます。
 そのゴミが悪さしている可能性もあるので、それをきれいにする為にブックを
新規に作り直す必要があるわけです。

本当に、表示形式4,000という制限でいいのかという問題。

 VBAでフォント関連の表示形式をランダムに生成するプログラムを作成したところ、
500程度で表示形式が追加できなくなってしまいました。
 また、ユーザー定義の表示形式をランダムに生成するプログラムを作成したところ、
200弱でこれも止まってしまいます。(環境は、Win2k/Excel2k)
 バグなのかよくわかりませんが、4,000以下でも表示形式が追加できなくなるので、
あまり多くの表示形式を設定することは、問題のようです。

他のアプリケーションで開いてデータを復旧する。

 サポート技術情報では、Wordが紹介されていましたが、Lotus1-2-3やOpenOffice.orgで、
ファイルを開いて見るという手もあると思います。Accessの利用も考えられます。
 また、Excel2002からファイルの修復モードができたので、これを利用するのが一番早い
と思います。

 [XL2003] 破損した Excel 2003 ブックのデータを回復する方法
  http://support.microsoft.com/default.aspx?scid=kb;ja;820741

(追記:2006/02/25
  ファイナルデータ2006 特別Office復元版
  http://www.finaldata.jp/product/final_data4_3.html
  Excel95以上対応のようです。
追記終了))

VBAで表示形式の削除を試みる。

 VBAでバイナリ形式でデータを読み込んで、表示形式を無効にする方法も考えられます。
 ただ、うまくいくとはかぎりませんし、データ自体を消してしまう可能性もあります。

その他

 無理をせずに業者さんに復旧を依頼する手もあります。
 また、ブックのバックアップファイルがあるかもしれないので、よくコンピュータの中を探してみましょう。

システムリソース不足を解消する

 Windows98/Me等のWindows9x系OSのみです。
 (Win2k/XPは、デスクトップアプリケーションヒープという概念で、システムリソースではありません。)

 Windows.FAQ - システムリソースって何?どうしたら増やせるの?
 http://homepage2.nifty.com/winfaq/sysres.html

 私は、エーアイソフト DiskX Toolsを使っています。
 最新版は、win9x系OS対応は終了してしまいました。
 フリーソフトでは以下があります。

 Win高速化 PC+
 http://www.vector.co.jp/soft/win95/util/se301488.html

HDDの破損を修復する

 ファイルの破損を修復したり、新規にブックを作り直しても、HDD自体に破損があれば
意味がありません。
 スキャンディスク後デフラグで、ハードディスクの状態を改善しましょう。

Windows 98/Me の Windows 版スキャンディスク (Scandskw.exe) について
http://support.microsoft.com/kb/186365/ja
ハード ディスクを最適化するには (ディスク デフラグ)
http://support.microsoft.com/kb/880946/ja