• 締切済み

エクセル ファイルサイズ

エクセルのファイルサイズが約15MBと非常に大きく、立ち上がり/保存が遅く、困ってます。 データを入力しているシートは41シート。データを入力している列は全シート9列。データを入力している行はシートによりばらつきがありますが、60行~4000行の範囲です。また、全シートの入力行数総計は約36000行です。 マクロはVBAは使っていない(はず)です。数式、関数も使ってません。 ここまで容量が大きくなるか?と思います。ファイルサイズを縮小する方法、どなたかご存知ないでしょうか?ご教示お願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

データだけで我慢できるなら、新ブックに、セルの値だけの貼り付けを(41回になるが)やって見てはどうでしょう。エクセル・表計算ソフトは値+数式だけの表でした。それが組織や、画像、リンクなどで肥大化する一方です。 それと一旦意識的・不適当入力などで広げた範囲が、実体が縮小しても、広いままである場合もある。Gavageも有るかも。 ところがこれらが何処か判りにくい。

Y-SAKATA
質問者

お礼

ご回答ありがとうございます。セルの値だけの貼り付けをやってみたところ、ファイルサイズは約半分になりました。

  • s-uzen
  • ベストアンサー率65% (2051/3118)
回答No.3

各シートはデータ(文字列)のみでしょうか。 各シートのデータの範囲外に、無駄な書式設定をしていないか、セルの破損が生じていないかなども関係するかもしれませんね。 http://questionbox.jp.msn.com/qa765035.html  

Y-SAKATA
質問者

お礼

ご回答ありがとうございます。無駄な書式設定、セル破損とも心当たりはないんですが、念のため確認しておきます。

  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.2

15MB÷36000行≒416Byte/行 数式/関数を使っていないとの事なので何をデータにしているのかわかりませんが、全角文字なら単純に200文字/行程度です。 実データがこれよりはるかに小さいなら41シートを全て値コピーしてみるのもひとつの方法かも? 概ね200文字/行ならシート移動によるファイル分割 または 圧縮ソフトのお世話になるかですね。

Y-SAKATA
質問者

お礼

ご回答ありがとうございます。実データは全角30文字/行なので、全て値コピーしてみました。単純に30文字÷200文字≒1/6のサイズにはなりませんでしたが、ファイルサイズは約半分になりました。

回答No.1

各シートの印刷範囲のサイズが大きかったりするとファイルサイズが大きくなります。 画像を貼り付けていても大きくなります。

Y-SAKATA
質問者

お礼

ご回答ありがとうございます。印刷範囲はどのシートも『一つのセル』だけ指定されているようです。また、画像は貼り付けてないと思うんですが、念のため確認してみます。

関連するQ&A

  • EXCELで番号を付けたい

    SHEET1のD2からデータのある行までを別のシートに1から番号をつけていきたいのですが。 SHEET1 D 1 名称 2 ○○予備校 3 □□予備校 . . 32 △△予備校 SHEET2 Q 1 空白 2 1 3 2 . . 32 31 関数を使えばできるのですが、人によって行数が違うのでD65536まで数式を入力しなければなりません。できるだけファイルサイズを小さくしたいのでVBAを使ってできないでしょうか? また既にVBAが組まれているのでそこに追加する形になりますが、既存のVBAには影響はないでしょうか?

  • エクセルの関数、VBAの使い分け

    エクセルでデータを管理しているのですが現在5つのシートで各シートが10列7000行程度データが入っていてファイルサイズが10MBを超えています。 データの行数は今後も増えていく予定で、最大行(約65000行)まで使いたいと思っているのですが、そうなるとファイルサイズが100Mぐらいになってしまいそうなのですが使用上問題はないでしょうか? 関数を多用しているのですがそれをVBAに置き換えるとファイルサイズを小さく出来るでしょうか?もし、VBAに変えた場合に使用上、関数に比べ不便が出るようなことはないでしょうか?

  • エクセルでのマクロについての質問です

    毎日行数の違うデータの隣に数式を入力してフィルでコピーしていますが簡易のマクロを組んでみました。ですが行数が変わるためマクロ登録した時の行数までしか数式がコピーされません。 画面1のようにC1、D1セルの数式をフィルでコピーしたマクロを登録しました。画面2のようにデータが多くなるとC5、D5までしかコピーされません。最初はC1、D1だけに数式を入力してマクロ実行後、フィルでコピーしていましたが面倒な為、現在は行数を多く設定していますが無駄に数式が入るためにデーターが重くなります。マクロでB列の最下セルを検索しその列までC,Dセルをコピーというなマクロが出来るなら教えて頂きたいです。VBAの知識を必要とすると思いますがよろしくお願いします。

  • Excelのマクロで別のシートに追加する方法

    入力するためのシート1からデータをためるためのシート2に入力するものをマクロのボタンでできるようにしたいのですがどのようにマクロのVBA打てばいいのか分からないので教えて下さい。 したいことは、データ4列でシート1の1行目は項目の行にして、 2行目にデータを入力する。 入力したデータを切り取って、シート2の2行目に張り付けて 次のデータをシート1の2行目に入力して 同じように切り取って次は3行目、4行目…というマクロ作りたいんです。 どなたかお願いします

  • Excelマクロで質問です。

    Excelマクロで質問です。 Sheet1にデータが入力されていて(ここでは100行入力されているとします)、 Sheet2のA2からE2に数式が入力されています。 ↓ この数式をSheet1のA列に入力されているデータ行数分プラス1(ここでは100+1) Sheet2のA3以降(A3からA103)にコピペするマクロを教えていただけないでしょうか。 100は、毎回変化します。

  • 総計をエクセルVBAで出すには。。

    A列にいくつかランダムに小計が入っておりB列の数値をA列の小計が入っている 行まで数式で足しています。 例=SUM(B16:B20)   A列の最終行に総計が入っているのですが総計にはB列のいくつかの小計行を 足して総計を出したいです。 小計を出すにはこちらで教えて頂き、VBAで自動でいれることができたのですが 総計をいれることができません。 VBAではどのように組めばいいのでしょうか?

  • 複数のエクセルファイルからのデータの抽出、一覧の作成について

    エクセルでのデータ整理の件で以下の質問があります。 以下のことができるようなマクロは組めませんでしょうか? 同一フォルダ(仮に、「C:\Sample」とします)に日々の業務データが 入力されたエクセルファイルが300個ほどあります。 各ファイル内にはSheetが5枚あり、各ファイルで入力されているデータは すべて同一のフォーマットです(Sheet毎では異なる。 例えば、Sheet1の1行A列には日付データ、Sheet2の2-5行B列には名前データ、といった感じです)。 これら300個のファイルから、これまでのデータを一覧にしたリストを 新規に作りたいと考えています(作成場所はどこでも構いません)。 例えばSheet1の、1列目にはファイル名、2列目には各ファイルSheet1の1行A列の日付データ、 3-6列目には各ファイルSheet2の2-5行B列の名前データ・・・、といった具合です。 (縦に日付が並び、1行内に各ファイルのデータが入力されている、 といった風にしたいと考えています。) 参考になりそうな過去の回答もありましたので、いくつか試してみたものの、 うまくいきませんでした(私はマクロは少しかじった程度です)。 一個ずつコピペでは非常に骨が折れ、難儀しております。 ややこしい質問ではございますが、ご回答お待ちしております。

  • エクセルXPの行数

    データを入力しています。 1SHEETの最大行数はだいたい何行くらいまで入力できますか? 参考までに、入力しているデータは 書式はデフォルトのまま、塗りつぶしや罫線はありません。A列~G列のみ使用。 数式も1列のみ「=列A+列B」といった単純なものです。 またデータの使用方法は、オートフィルタを使用して文字列の並べ替えや 検索などを行なうのが目的です。 ふと何行まで入力できるか心配になってきました。 今現在1000列まできましたが、 そろそろ新しいファイルに分けたほうがいいでしょうか?

  • 関数 or マクロ(エクセル)

    行の項目と列の項目を検索して重なる部分のデータを拾いたいのですがどうもうまくいきません。初歩的なことかもしれませんが、VLOOKUPとHLOOKUP関数をあわせたようなもの。LOOKUPウィザードでもやってみるのですがうまくいかないのでよろしくお願いします。(最終的にVBAでやりたいです) 元のデータは、(Sheet3)にあって(Sheet2)で項目を並べ縦と横の項目に一致するデータを持ってきたいです。 Sheet3にあるデータは、別のブックよりVBAで検索したデータを持ってきています。 また、Sheet1、2ともその都度行数(検索項目数)が変わるので、できればデータシートの行数にあわせて行きたいのですが・・・こうなるとVBAになると思い挑戦しているのですがこれがまたうまくいきません。 で、データの行数にあわせて拾い出し、A列で最終行を検索して、L列~W列の各列の3行目に、5行目~最終行までの合計を取ろうと思っています。 説明が下手ですみませんが、よろしくお願いします。 環境:Win2000、98 Office2000です。

  • EXCELでCSVファイルの読込み

    VBA超初心者でとても困っています。 仕事でEXCELのVBAを使って 現在開いているシートの中に 1つのCSVファイルからデータを読み込むのですが CSVデータの2行目をEXCELのC2へ。 4~10行目までを、EXCELのB5~B14へ マクロを使い、ボタン一つで自動入力させたいのです・・・。 Line Input も、やり方が悪いのかうまくいきません。 ヒントとなるやり方があればぜひ教えてください。

専門家に質問してみよう