2013年3月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

« ▼ダイエット大作戦(ついに70Kg台突入) | トップページ | ▼ダイエット大作戦(5ヶ月で8Kg減) »

2007年9月 1日 (土)

◆Excel (ファイルサイズの肥大化を解消する)

今回は職場で問題になったExcelブックのファイルサイズ肥大化解消について書いてみたいと思います。ネットで検索するといろいろと情報はありますが、私の経験から確実にファイルサイズが縮小するワザをご紹介します。
そもそもExcelブックのファイルサイズの肥大化とはなにかというと、あるファイルをずっと修正したりしていくとファイルサイズがどんどん大きくなるということです。これはAccessでもWordでも言える事です。ではなぜこのようなことが起きるのでしょう。その原因が分かれば解決法も分かります。Excelについて言えば原因と解決方法は以下のようなものです。ちなみにExcel2000/2003で有効であることを確認しています。

■原因
(1)ExcelVBAを何度も修正して保存を繰り返すことによりファイルサイズが増大
(2)「ブックの共有」設定で複数人がファイルを更新することにより、”変更履歴”が増大
(3)見た目以上のデータがシートに入力されているとExcelが認識している
(4)罫線や関数、条件付き書式や入力規則を大量に設定している
(5)ビットマップやグラフなどが貼ってある
(6)ブック内に大量のシートが追加された(シートが非表示になっていて見た目は少ない場合もある)
(7)もともと図などのシェイプオブジェクトが貼り付いていたが行を削除したため、見た目はオブジェクトが見えない

■解決方法
(1)Visual Basic Editorを開き、モジュールを選択し右クリックメニューから「Moduleの解放」→「削除する前にModuleをエクスポートしますか?」→「はい」で一旦モジュールを削除およびbasファイルを出力します。
次にモジュールを選択し右クリックメニューから「インポート」でbasファイルを取り込みます。
これを標準モジュールだけでなくユーザフォームやクラスモジュールについても繰り返すとファイルサイズが縮小します。モジュールを多く含むブックだと効果が大です。

(2)Excelメニュー「ツール」→「ブックの共有」→「編集」タブの「複数のユーザーが同時に編集する」のチェックを外し、変更履歴を削除し、一旦ブックを保存します。再度ブック開き、ブックの共有を設定しなおします。
変更履歴が不要であれば、始めから「詳細設定」タブの「変更履歴を保存しない」を設定しておけばよいです。

(3)ちょっと解説すると、Excelは一旦入力したセルをずっと記憶しているようで、セルをクリアしても記憶し続けます。Ctrl+Endキーを押下してみるとExcelが認識している最終セルが分かります。したがって、仮に見た目は入力が無いというシートでも、この範囲が大きければ大きいほどブックサイズが大きくなります。
これを解消するには、Ctrl+Endキーを押下してジャンプしたセルから入力されている行、列までの未入力部分を選択し、
メニュー「書式」→「スタイル」→「スタイル名」が”標準”でなければ一旦”標準”に設定し、選択している行および列を削除します。ブックを保存すればファイルサイズが縮小しているはずです。スタイルを”標準”に戻さずにただ行や列を削除したのではファイルサイズは縮小されないので注意してください。

(4)(5)はできるだけ使用しないとしか言えません。でも便利だから使ってしまいますよね。必要に迫られて使用しているのであればこれ以上は縮小できませんね。

(6)は可能であればブックを分割するしかありませんね。たまに、既存のブックを流用して作成していたりして、流用元のブックにシートが隠れていたりします。非表示シートはメニューの「書式」→「シート」→「再表示」で確認し、不要であれば削除しましょう。

(7)見た目は何も入力が無いシートのブックがやたらファイルサイズが大きい場合があります。誰かと共同でブックを修正していたりして、自分以外がオブジェクトもろとも行を削除したりすると削除された行の上にあったオブジェクトは点の状態になってしまいます。試しにツールバー上で右クリックし「図形描画」を選択するとツールバーが追加されますので、矢印マークの「オブジェクトの選択」でシート全体を選択し、Deleteキーを押下してみると隠れているオブジェクトが削除されるかもしれません。私が作ったE2000Toolsにはアクティブシートのオブジェクトの一括削除機能がありますので、それを実行してみると便利だと思います。E2000Toolsはこちらhttp://cat.zero.ad.jp/iizy/のDownloadからダウンロードできます。不明な点などがあればコメント欄にでも書いて頂ければお答えしたいと思います。

以上がこれまで解決できたケースです。自分のケースに当てはまる場合は試してみてください。

« ▼ダイエット大作戦(ついに70Kg台突入) | トップページ | ▼ダイエット大作戦(5ヶ月で8Kg減) »

パソコン・インターネット」カテゴリの記事

コメント

なるほど、いままで謎だったことが理解できたような気がします。
先日も、やたらとでかいサイズのファイルができたので何がでかいのか1列づつ削除してつきつめたら何にもデーターが入っていない列を削除すると一気にサイズが小さくなりました。答えてネットで質問するとexcelの昔からのバグだと言う回答がありました。解決法までは教えてもらえなかったので、ここの情報がとてもありがたかったです。

私の経験など些細な物ですがお役に立ててうれしいです。

googleで検索してたどり着きました。
仕事で使ってるエクセルファイルが肥大化して問題になっていたのですが、
こちの(3)の方法で見事に解決しました。
他のサイトにはない情報だったので大変助かりました。
ありがとうございます。

(3)の解決方法を発見したときは”やった!”という感じでしたね。お役に立ててよかったです。

ありがとうございました。
正にここのことで悩んでいました。
とても参考になりました。

この記事へのコメントは終了しました。

« ▼ダイエット大作戦(ついに70Kg台突入) | トップページ | ▼ダイエット大作戦(5ヶ月で8Kg減) »