コピペや上書き保存の繰り返しでエクセルファイルの容量が急増する原因と対処法

このQ&Aのポイント
  • エクセルファイルの容量が500KBぐらいから急に55MBに増える現象が発生しています。コピペや上書き保存の繰り返しによるもので、データの量とコピーの作業が原因です。ソフトを作っている人に多い傾向があります。55MBの容量はエラーを引き起こす可能性がありますが、データの量と繰り返し作業での容量は異なるため、注意が必要です。
  • 現在作成中のソフトでは、特定のデータを抽出して別のシートにコピーし、印刷する作業を会社ごとに繰り返しています。月に500件程度の処理がありますが、一つの会社のデータは100行ほどです。同じような現象が起こる可能性は高いですが、処理が遅くなった場合はソフトを交換することも検討してください。
  • 対処法としては、新しいシートを作成して必要な箇所のみをコピーする方法が効果的です。シート全体のコピペを繰り返すと容量が増えるため、必要なデータ範囲のみを指定してコピーすることが重要です。また、必要箇所に罫線を引くことも有効ですが、全体の行に対して罫線を引くと容量が大きくなるため、必要な箇所のみに罫線を設定するようにしましょう。
回答を見る
  • ベストアンサー

コピペや上書き保存の繰り返し

エクセルファイルの容量が500KBぐらいから急に55MBに増えました。 応答なしもおこるようになりウィルスのせいかなと思っていましたが、どうも検索をしていると コピペや上書き保存の繰り返しで、なるようです。 ソフトを作っている人に多い?みたいですが、55MBという容量でエラーっておこるもんですか? データでの55MBと、コピペ等の繰り返しでの55MBでは意味が違うのかな・・ ソフトはもうすぐ完成するのですが、コードで特定のデータを取出し、抽出データを別のシートにコピペします。そして、印刷します。その作業を会社ごとに繰り返します。 それは、締日になればするものですが、多くて月に500件ぐらいします。 一つの会社にデータは多くても100行ぐらいです。 いずれは、同じような現象が起こると考えてよろしいでしょうか? 出来上がったソフトのコピーを作っておき、処理が遅くなったら交換がいいのかと思いますがどうでしょうか? 対処としては、新しいシートを作り、そこに必要なところだけコピーしたところ、容量が軽くなりました。 シート全体のコピペを繰り返していたのが原因だと思います。 ひとつのシートに罫線にしても必要箇所にするとか大事なのでしょうか? 必要箇所の範囲指定が邪魔くさかったので必要列全体の行に対して罫線を引いたりしていました。

noname#241383
noname#241383

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

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

会社の仕事をVBAさえも出来ないのに、多数のファイルをハンドリングして、やるのは危険であると私は思う。 VBAなら、中身データは変わっても、プログラムは変わらず、そんなに余分なしようにならずに済むように出来ると思う。 エクセルで続けて処理しようとするので、作業につれて累積していく部分があるのではないかと思う。 適当に中間でファイル保存し、エクセルを閉じて、再度開いてやってみてはどうでしょう。 ーー 初心者はデータを写すのはコピペしかないが、VBAならセルの値を他セルに、代入するという仕方があるので、質問のことは起こらないかもしれないと思う。 また表示形式を多種類にしたり、書式設定のセル範囲を多箇所で設定にして、表示形式など諸設定に凝るとそれを保存するメモリ(および保存する外部メモリ)を食うのは、そうなってしまうとおもう。 画像についてもその恐れはあると思う。 極端な話データと表示形式の設定を分離する(必要最低限の局面で整える)考えも可能かと思う。ACCESSなどはそれに近い形(テーブルは素データだけ)で、フォーム・レポートで格好を整える。 データも無駄のない範囲にコンパクトにすることを心がける。誤って随分飛び離れた1セルに何か入れて保存してみると、大変サイズが大きくなっている場合が報告があったと思う。 これらは現状サイズを計算で計算して量的に把握できるものではないので、一般論を知って、心がけるほか無いでしょう。

関連するQ&A

  • 【VBA】コピー&複数個所のペースト繰り返し

    前回と同じ質問ですが、説明が足りなかったので画像を添付いたしました。 添付画像のように、1つの値をコピーし、別シートの複数個所(同じ列の違う行)へ順次ペーストしたいのですが、貼付けデータやペーストする回数が増えた場合でも対応できるようなVBAを教えてください。 コピペする条件としては、MsgBox関数を使い「コピーするか?」で「はい」を選択すると、任意のセルにデータがコピペされます。 よろしくおねがいいたします。

  • EXCEL2010でシート間のコピペ

    シート1枚目は、掲示用で、シート2枚目は、手帳などに挟むメモです。 文字列は、同じなのですが、罫線があるので、そのままコピーするとおかしなことになります。 フォントも元は、12Pですが、後は、8Pです。 どんなふうにすれば、手間が少なく、コピペできるんでしょう?

  • リソース不足のため

    エクセル2010です。 シート全体をコピーして 新規シートを挿入し、そこに貼り付けようとしたのですが 「リソース不足のため、 このタスクを完了することができません。 選択するデータを少なくするか、ほかのアプリケーションを終了して再度試してください。 元に戻さずに続けますか?」 となり、1行しかコピーされません。 全部で、512行あります。 なぜコピペできないのでしょうか?

  • Excel2016でリボルビングコピペ

    sheet8のセル範囲C3:C10000までの各セルに記号値A~Jのいずれかがランダムに入ってます。 マクロボタンを押します。 C3:C10000の範囲の内から 何個か行番数を選びます。 選ばれた行番数から50行戻った所までの範囲の記号値を横化して、 O4:BL4の範囲から下に向かって6000行程繰り返してコピペしたいです。 繰り返しコピペの際に選んだ行番数に+1 をして同じ形の行には成らないようにしたいです。 (抜き出して、リボルバーみたいに回転してコピペするけど、コピペされる度に行番数に+1 されてるので同じではない、みたいな感じです。) 教えて頂けたら幸いです。

  • エクセルの容量

    比較的利用頻度の高い表をエクセルで定型化して作成しています。(1ページ目及び2ページ以降) 雛型には項目の文字と罫線があらかじめ記入されています。 さて、ページ数を増やす時に、これをコピーして貼り付けます。(40~50行/ページ) この状態で、増やした行数分を選択して削除してみると、見た目は元通りになりますが、保存してみると容量が30kbほど増えています。同様に、この操作を何度も繰り返すと、容量はどんどん増加してゆきます。 (実際の使用で、いろいろ訂正したりしていると必要以上に容量が増加してしまう。) 多分、見えない情報が溜まるのだと思われますが、この不要情報(?)を削除する良い方法はないでしょうか? (検索したところQNo.585829に、容量が増える理由は記載されていましたが、除去する方法は出ていませんでした。) 必要部分のみを、新規ブックにコピーすれば良いと推測されますが、シート間の参照などが一部あるため、単純なコピペで別ブックに移すと参照関係が変わってしまうとか、シート全体をコピーすると不要情報もコピーされるみたいなので、セル範囲でコピーして行・列幅などを整えたり、印刷設定やヘッダー設定などなど、大分面倒な作業になってしまいそうなので・・・

  • Word 2行目以降に表挿入し,タイトル行の繰り返し

    Word2000を使用しています。 複数ページにわたるような表をExcelからコピペしてます。 コピペした最初の行を繰り返したいので「罫線→タイトル行の繰り返し」を行なっていますが,繰り返した行の直上に表ではなくテキストを常に挿入したいのです。どのようにすればいいのでしょうか。。。 具体的には, (1行目)文章を書き込みたい(表ではないです) (2行目)表のタイトル←繰り返し機能 (3行目~)表中の数値 です。要するに1行目に表を説明する文章を入れたいのです。出来れば(その1),(その2)とページによって書き換えたいと考えてます。 アドバイスをいただけたらと思います。

  • エクセルファイルを上書きすると容量が増える

    質問させて頂きます。 エクセル(2003SP2です)でデータベースを作っているのですが、 どんどん更新していくたびに容量が増えるのはわかりますが、 データの削除なども行っていて、データの量はあまり変わりませんが、 上書きしていくたびに微量に容量が増え続けています。 書式や罫線などはありません。 容量が増えたのでいったん別ブックにデータを値張り付けして 保存した所容量が減りました。 (他シートからデータを張り付けているので、入力規制、条件書式、フォント、ポイント、色、罫線は全てクリアしたつもりなのですが) 何か容量確保的なものがあって減らせないのかなと思いますが、解りません。 なにが原因なのでしょうか?

  • 「コピペについて」EXCEL初心者です。簡単にお願いします。

    今仕事で、EXCELを使ったデータ入力作業を行っています。 5000件のデータを入力し終わり、いざ本元のシートへとコピペしようとしたのですが、うまくいきません。 本元のシートというのは15000件のレコードを持つEXCELデータです。今回のデータ入力分シート(前述の5000件)はこの中から選出されたデータであるため順不同(レコードが飛んでいる、すでに入力済みなど。手作業で行われているためどこが抜けているか判断しづらい)です。 よって、フィルタオプションを使用して、本元のシートから5000件のシートを検索条件とし、抽出しました。本元のシートはうまく5000件のシートと同じように並んだのですが、コピペでどうしても躓いてしまいます。 範囲指定からコピペをしても、「コピー範囲と貼り付けの領域が違う」と怒られた為、一番トップにあたるセルを選択しペーストをしたのですが、なぜか、レコードがずれて入力されてしまうのです。 このとき本元のシートを全て表示してみると、抽出されていないレコードにデータが入力されていました。 どなたか、いい方法を教えていただけませんか?初心者ですので簡単な方法をお願いします。。。

  • 印刷後データを変更し、また同じ雛形で印刷を繰返しをマクロで行いたい。

    印刷後データを変更し、また同じ雛形で印刷を繰返しをマクロで行いたい。 シート1に印刷用の雛形があります。 セルの指定された10ケ所くらいに手入力後印刷しています。 この10ケ所の入力内容は別ファイルに有りますが そのファイルは夜間バッチで毎日更新されます。 またそのデータは今日は20行だけど明日は15行とデータ量が日々変わります。 シート2にこのデータファイルを貼り付けて そのシート2のデータの1行目(A2からJ2)の各値を シート1の所定の場所に値を貼付しシート1を1枚印刷。 その後シート2の2行目(A3からJ3)のデータを シート1の所定の場所に値を貼付し印刷。 これをシート2のデータ分(行です)繰り返し シート2のデータ(行です)がなくなったら メッセージBOXで「印刷終了」と出て印刷が停止。 というのをシート1に作成したボタン一つで行いたいです。 (シート2の値をシート1に貼付するのはマクロの記録で完成しましました。  でも駄目です(T_T)当たり前ですがデータ10行の時のマクロ記録では  データが15行の時11から15行目は無視されます。  Do Loop で対処可能でしょうか?) なおシート2にデータを貼り付ける時の データ選択はエクセルの「ファイルを開く」の小画面を表示させて 使用者に選択させたいです。 ↓ fName = Application.GetOpenFilename Application.ScreenUpdating = False Set fso = CreateObject("Scripting.FileSystemObject") dPath = fso.GetParentFolderName(fName) 1.シート1の「ファイル選択」ボタンを押す。 2.ファイルを選択する。(開くをクリックすると同時にno.3が自動で行われる) 3.シート2に選択ファイルが貼り付き選択されたファイルは閉じる。 4.シート1の「印刷」ボタンを押す。 5.マクロの記録どうりにシート2の2行目の値がシート1に貼り付く 6.シート1が印刷され、シート1の値がクリア。 7.マクロの記録の法則にならってシート2の3行目の値がシート1に貼り付く 8.シート1が印刷され、シート1の値がクリア。 9.シート2のデータがなくなるまで繰り返す。 10.シート2のデータ分だけ印刷したらメッセージが出る。 データを変更して繰り返して印刷の部分が参考書やWEB検索でなかなか見つかりません。 ご教授をお願いします。

  • Excelデータのコピペ

    Excel2007を使用しています。 AとBの二つのExcelデータがありますが、それをA一つにまとめようとしています。 AとBの二つのデータは、設定した列幅、行高さも違いますので、Aデータに新しいシートを設けて、そこへBページを貼り付けようと思います。 ところが、Bデータの必要なページの全面を範囲指定コピーをして、Aの新しいシートに貼り付けようとしても、ペイントで描いたjpgの絵が付いてきてくれません。貼り付けできるのは行に記載した文章だけです。 まるごとコピー貼り付けする方法をお教え下さい。 よろしくお願いいたします。

専門家に質問してみよう