クリスは、大きなワークブックの保存、開閉を高速化するために、大きなワークブックを「コンパクト化」する方法があるかどうか尋ねました。簡単な答えはノーです。方法はありません。データベースプログラム(Microsoft Access)とは異なり、Excelにはファイルを圧縮する機能がありません。

そうは言っても、特にワークブックをしばらく使用している場合は、速度を上げるためにできることがあります。ワークブックは、日常的な使用から、時間の経過とともに「肥大化」する傾向があります。マクロを何度も編集すると、マクロコードがブックに格納される方法が断片化する可能性があるため、おそらく最大の原因はマクロです。マクロモジュールをエクスポート、削除、およびインポートできます。これにより、問題の多くが修正されます。 RobBoveyのCodeCleanerなどのサードパーティの「クリーナー」をマクロに使用することもできます。

http://www.appspro.com/Utilities/CodeCleaner.htm

また、ワークブックでCtrl + Endを押して、Excelがどこに移動するかを確認する必要があります。実際のワークシートデータの最後の列と行をはるかに超えている場合、Excelはワークブックに追加のデータ(空白のデータではありますが)を保存しています。データの右または下にある実際の列と行を削除してから、再保存します。

「名前を付けて保存」を実行して、ワークブックを新しいファイルに保存することもできます。古いファイルと新しいファイルのサイズを比較し、小さいファイルを維持します。それが機能しない場合(およびExcel 2000以降を使用している場合)は、ブックをHTMLファイルとして保存します。次に、Excelを使用して保存したHTMLファイルを開き、HTMLファイルをXLSファイルとして保存します。 HTML形式によるこの「ラウンドトリップ」は、ファイルサイズを大幅に削減することが知られています。 (これを行う場合は、必ず古いブックからマクロをエクスポートして、新しいブックにインポートしてください。マクロは、HTMLのラウンドトリップエクスペリエンスに耐えることはできません。)

ブックにグラフィック、サウンドファイル、その他の埋め込みオブジェクトなどのExcel以外のオブジェクトが含まれているかどうかを確認します。これらはかなりのファイルスペースを必要とする可能性があります。不要な場合は削除してください。

ワークシートに複数のピボットテーブルがある場合、ファイルサイズを小さくするためにできることがいくつかあります。これらのアイデアは、_ExcelTips._の他の号で詳しく説明されています。

ブックに非常に大きな数式(行に対して何度も実行される数式)が含まれている場合は、数式を調べて、何らかの方法で短縮できるかどうかを確認します。おそらく、数式の一般的な部分を抽出し、それらを「サブ数式」として定義済みの名前に割り当ててから、より大きな数式で名前を参照することができます。数式がブックの多くの場所で使用されている場合、これは特にスペースを節約します。

また、Excelの「変更の追跡」機能を使用すると、特に変更の履歴を保持している場合に、ブックを大きくすることができます。本当に必要ない場合は、この機能をオフにすることを検討してください。

ファイルのサイズを縮小する方法が見つからず、それでも読み込みが遅い場合は、実際の速度低下がウイルス対策ソフトウェアに起因していないことを確認してください。 Excelファイルをチェックおよび再チェックしている場合、特にネットワーク上にいる場合は、ファイル操作にかなりの時間がかかる可能性があります。

最後に、ワークブックの構成をいつでも再考できます。たとえば、プロジェクトに関連するすべての履歴を保持しようとした1つのワークブックがありました。その結果、ネットワークを介してロードするのに永遠にかかる巨大なワークシートが作成されました。私が見つけた最善の解決策は、不要になった履歴データを別のブックにコピーしてから、最新のプロジェクトレコードを使用して作業を行うことでした。このアプローチにより、ファイル操作の速度が劇的に向上しました。

他のデータでも同様のアプローチが取られる可能性があります。たとえば、すべてのクライアントのデータを1つのブックに保持する代わりに、各クライアントのデータを独自のブックに配置することができます。利点は、個々のブックが大きな単一のブックよりも開きやすく、操作しやすいことです。次に、Excelの他の機能(必要に応じてマクロを含む)を使用して、さまざまなブックからデータを抽出し、要約レポートを作成できます。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(2402)は、Microsoft Excel 97、2000、2002、および2003に適用されます。