- 締切済み
エクセル2007マクロについて。お願いいたします。
excelファイルの容量が10MBにもなってしまい大変困っています。すべてのシートを新しいブックにコピーしたのですがサイズは変わりませんでした・・・方法が間違っているのでしょうか??? 関数やマクロを組み込んだsheetが14枚くらいです。軽量化するにはどうしたら良いでしょう??また、肥大化しないためのマクロ等ありましたら教えていただけますでしょうか、よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- nag0720
- ベストアンサー率58% (1093/1860)
マクロを組み込んだからといって、そのコードの分の容量が増えるだけですから、数十万行のコードを書いたのならともかく、そんなに肥大化することはありません。 肥大化しているのは、セルに登録されているデータが実際に多いからではないですか? その場合は、いくら小手先でいじってみてもそんなに容量が少なくなることはありません。 容量を縮小したいのなら、ブックを分割することを考えてはどうですか。 例えば、データを入力するためのブック、集計するためのブック、分析するためのブックなど、機能別に分けてみてはどうでしょうか。 複数のブックを読み込んむことも可能ですので、最低限のブックだけを読み込んで処理することができます。
- 有田 賢治(@ARIKEN43)
- ベストアンサー率50% (563/1116)
mild666666さん 今日は! >excelファイルの容量が10MBにもなってしまい大変困っています。す>べてのシートを新しいブックにコピーしたのですがサイズは変わりま >せんでした・ コピーしてファイルサイズが減少するなら皆んなそうするでしょう。 ●Excel 2007 におけるパフォーマンスの改善(目次)↓ http://msdn.microsoft.com/ja-jp/library/aa730921.aspx 内容: Microsoft Office Excel 2007 でのワークシート容量の拡大と、ワークシートを設計および作成する際、計算パフォーマンスを改善するために利用できるテクニックについて学びます。 後は各ページの範囲指定以外の表を削除するとか画像のサイズは可能な限り縮小させるなどもう1度マクロを見直す事ですね。 >軽量化するにはどうしたら良いでしょう??また、肥大化しないため >のマクロ等 ご自身が作成したプログラムを内容も判らずに回答出来無いでしょう。 マクロの基本を勉強して時間を掛けて無駄を省く事ですね。 >関数やマクロを組み込んだsheetが14枚くらいです。 内容も知らせず軽量化するにはどうしたらとか肥大化しないためのマクロなどを質問するのも変でしょうプログラムは自身で作成されたのですから自己責任で考えるべきでしょう。 Web検索で2007のマクロで可也サイトがヒットします。
- imogasi
- ベストアンサー率27% (4737/17069)
#1でおっしゃることは尤もです。 ーー >新しいブックにコピーしたのですが コピーはいろんな面でそっくりそのままが、作られると思う。 本来そういうもの。 ーー 確信は無いが、「名前をつけて保存」で別ファイルを作成し、あまり容量が変わらないか、やってみてください。相当変わる例があると思う。 ーーーー >肥大化しないためのマクロ等 エクセル内部の処理はわかってないが、コンナのあるはずが無い。 MSだってマクロ1行入れてすむ問題なら手を打っている。 関連が多岐すぎて、意図どおりか、ユーザーのやり方がまずくて予想外に増えているのか判別しにくく、手を打てないのだろう。 例えば配列数式は使わないほうが良いといっても、使うか、多用するかはユーザー次第といった面があり、意図的に使われてしまえばエクセルは、手のうちようが難しい。 まあ内訳(画像で何メガ、セル素データで何メガ、数式で何メガ、書式で何メガなど内訳)を出すツールを用意してくれれば、次回からの反省材料になると思うが、そういうものも無いようだ。 ーー 2007からファイル保存形式が変わった面も影響あるのか無いのか 判らないが。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
● Excel互換モードだとファイルサイズが大きいようです ● 写真が入ると大きくなります ● [Ctrl]+[G]ジャンプ - [セル選択] - ●オブジェクト で余計なオブジェクトが入っていると大きくなります ● [Ctrl]+[F3]名前の定義 で参照範囲に数式を入力するとファイルサイズが小さくなります。 ● 数式を一つだけ残して、そのほかを値にしておき、必要なときに計算させるのもひとつの方法です ※計算速度が遅くないなら、あまり気にしなくてもいいかも。 計算速度が遅いようなら、 ○SUMPRODUCT関数を使った数式のコピーは重い ○SMALL、LARGE関数の多様も避けたい ○COUNTIF、SUMIFも重いが、SUMPRODUCTより軽い ○IF(ISNA(MATCH(・・・,0)),"",INDEX(C:C,MATCH(・・・,0))など 2回同じ数式が出ている場合(特に検索系)は、作業列を使って別のセルで計算させる ○元データが昇順(降順)になっている場合、検索の型を近似値を含めた検索にするとよい。 ○作業列をポイントを抑えて多用する。(ファイルサイズは増える) 実際に見ているわけではないので参考まで
お礼
色々と勉強になりました!教えて下さったサイトを見ながら無駄を探して省いたところ2MBまで軽量化することが出来ました。ありがとうございました。