• ベストアンサー

Excelファイルの軽量化の方法を教えてください

年間の経理データを1つのブックで処理しています。 ブックには複数のファイルがあり、なおかつ1シート内にも12ケ月分のデータをいれています。毎月入力時に該当月のシートか該当範囲だけを表示させるようにマクロを使っています。業務上どうしてもファイルを分割することはできません。(1ヶ月過ぎると入力不可で表示のみ選択できるなどもしています。) シートの表示、非表示やセルの保護、非保護、またリンクなどいろいろしていますが、このファイルを軽量化する方法はないでしょうか? 今は3MGくらいですが、容量が大きくなってしまう主な原因はなんでしょうか? マクロの工夫例があれば教えてください!

質問者が選んだベストアンサー

  • ベストアンサー
  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

>業務上どうしてもファイルを分割することはできません という前提がどうにも理解できないのですが。 直接リンクを張ってもいいですし、VBAが使えるならファイルネームさえ変更されなかったら、どうにでも参照はできますよ(名前が変更されたとしても何とかできないことはないですし)。 >シートの表示、非表示やセルの保護、非保護 この辺の部分はファイルのサイズとは全く関係がない部分です。表示上見えなくしているのと実データが無いというのは大きな違いがあります。 2LDKの部屋だけど扉にカーテンをかけて完全に隠しているので家に来る人はみんな1DKと勘違いするんですよっていう例があったとしても、その部屋の坪面積や家賃の評価が下がるわけでもなく、最初から1DKの部屋とは大きな違いがあります。 データ容量を小さくしたいのなら、入力したり、データの確認をするインターフェース部分と実データが入っている部分をブック単位で完全に切り分けてしまうことです。さらにその実データも例えば月単位で分けるとか。 マクロの工夫はあくまでも処理速度などが上がるとかそういう意味で使われます。こういう仕様上の問題は設計レベルの問題です。

one-up
質問者

お礼

早速ありがとうございます。マクロで工夫ということではないのですね。 約40社関連会社にそのファイル送付し、毎月入力して送り返してもらっています。数値情報なので前月データを一部使用して当月分を入力したるチェックしたりもしています。マクロでのエラーチェックもしています。 エラーチェックをするためのファイルや、データ保存のファイル、メールのやりとりをするファイルなどを分けるほうがよいのでしょうかねぇ。 ファイルの圧縮では、何か「保護」されてると圧縮があまりできないとか聞いたこともあったんですが。これは質問とは関係ないですが。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.4

>今は3MGくらいですが、容量が大きくなってしまう主な原因はなんでしょうか? 3MG-->3M?これは、あなたの感覚から言って、 「このデータ量なら、これぐらいのファイルサイズは妥当だ」 と言える大きさなのでしょうか? 感覚と大きく異なるのでしたら、EXCELがデータの最終セルを誤認識している可能性があります。次をお試し下さい。 1. [Ctrl]+[G]で[ジャンプ]ウインドウが開きます 2. [セル選択]クリック 3. [最後のセル]-[OK]クリック これで、ちゃんとデータの最終行にジャンプしたらOKです。しかし、全然思いがけないセルにジャンプした場合、EXCELがデータの最終セルを誤認識しています。 不要な空データを保持しているわけですから、ファイルサイズが無駄に肥大する結果となります。この件については、MSのWEBサイトに技術情報があります。 これに該当する場合には、データの最終行からジャンプで飛んだ「最終セル」まで削除します。

one-up
質問者

お礼

情報ありがとうございます。 ファイルを確認してみます。 今回のケースではないのですが、データ量が少ないのにやたらサイズが大きいファイルがあって、再作成したことがあるのですが、きっと教えていただいたことが原因のようですね。参考になりました。ありがとうございます。 (お礼が遅くなり失礼いたしました。)

すると、全ての回答が全文表示されます。
  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.3

お礼文見ました。 そういう事情ならやはり設計レベルで仕様を変えないことにはそのうち破綻するんじゃないんですかね(単純にファイルサイズがメールサーバーの容量を越えてしまう)。まぁメールではなくてFTPサーバーでも立ち上げてそこでやり取りすれば問題ないでしょうが。 あとファイルの圧縮は別に関係ないですよ。例え暗号化されているファイルだろうが圧縮しても問題ありません。だから圧縮することにより20%ぐらいまでのサイズにはなるでしょうから、破綻は当分先だとは思いますが。

すると、全ての回答が全文表示されます。
noname#10667
noname#10667
回答No.2

自分の場合、Excellのファイルサイズを 小さくするのに、関数を減らします。 関数を、VBAで置き換えれば、相当小さくなります。 もっとも、扱うものが違うので、参考にならない かも知りませんが。

one-up
質問者

お礼

情報ありがとうございます。 私はマクロ初心者でVBAもあまり詳しくないのですが、調べてみるきっかけになりました。助かります。 (お礼が遅くなってすみませんでした。)

すると、全ての回答が全文表示されます。

関連するQ&A