• 締切済み
  • 困ってます

エクセルのワークシートが重くなる!

たまにエクセルで起きるのですが、 特定のワークシートが重くなる(キー、マウス操作の待ち時間が長い。RAMメモリ不足から来る重さの感覚に近い。)ことありませんか。 その原因、対処方法がわかる方はいないでしょうか。 そのワークシートの特徴、及び使用環境を以下に書きます。 (1)画面のスクロールが重くなる。 (キー、マウスどちらでも) (2)セル入力すると重くなる。(内容消去でも重くなる) (3)データ量は必ずしも大きくない。(1シートのみのファイルで数十キロでも起こる) (4)重いワークシートをシートコピーすると、そのコピー(Sheet(2))は必ず重くなる。 (5)重くないワークシートをシートコピーしても、そのコピー(Sheet(2))が重くなることがある(ほとんど起きないが過去数例あった)。 (6)新規の空のワークシートを作成し重いワークシートのデータを「全範囲コピー」し、新規ワークシートに「貼り付け」ると重くならない。 (7)マクロの有無によらない。 (8)外部参照ファイル(リンク)の有無によらない。  当社はウイルスバスターのコーポレートエディションを導入しインターネット経由でネットワーク内全てのパソコンのおいて随時パターンプログラムを更新していますので、コンピュータウイルスではないと推測しています。 たまにしかめぐり合わないので、(6)で対処しています。 以下に私の使用している環境を示しますが、他のPCでも同様に起こるので、どうもハードではなくファイルそのものに問題があるのでは思っています。 (環境) OS:Windows2000SP3 AP:EXCEL2002 CPU:CELERON 1.5G HDD:20G MEM:256M

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数12767
  • ありがとう数10

みんなの回答

  • 回答No.4
  • dejiji-
  • ベストアンサー率38% (327/858)

あと一つ思い出したのですが、シートにグラフは無いでしょうか。環境が違うのですが(9×系で2000) この場合、グラフのフォントが問題になり、シートコピーを繰り返すと最終的には、エラーメッセージが出て動けなくなる。という現象がありました。 NT系なのでそこまで行かないで重くなる可能性もあるのでは。 この場合、グラフオプションでフォントの自動調整を外すと効果がある。 それから、シートコピーのエラーはエクセル2000ではエラーの出る可能性があった。この場合は、tsutsu1971さんの行っている(6)の方法が回避策としてとられていた。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

重いシートにはグラフも無いんですよ。もう一度整理すると ●マクロ無し ●オートシェイプ無し ●外部参照のリンク無し ●グラフ無し ●文字フォント1種類 ●罫線2~3種類 ●セルの書式設定もせいぜい文字の横位置(中央、標準)程度しかいじらない。色も罫線、文字とも黒のみ。 上記のような場合、つまり、ごくシンプルな表(線太さ2種類。黒のみ)の掛け算と足し算のワークシート(せいぜい2ページ程度)でも重くなるんですよね。例えば簡単な見積内訳書のようなものでも。 年に数回レベルでしか出会わないのであきらめて(6)で対処しようかなと思います。 私の身近には全く同じ症状で困っている人(会社も、PC環境も異なる)、数人いるんですけど…これってバグっすか?

  • 回答No.3
  • dejiji-
  • ベストアンサー率38% (327/858)

Ctrl+Endでセルの最後に飛びます。これでシートの大きさが分かると思います。 特定のファイルと言うことなのですが、特定のPCで作成されたファイルでしょうか。どのPCでも同じような状況なのでしょうか。テンプレートに問題がありませんか。新規ワークシートなら問題ないということなら、問題のテンプレートがあるような気がするのですが。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

>特定のファイルと言うことなのですが、特定のPCで作成されたファイルでしょうか。 「特定のPCで作成」というわけではアリマセン。特定のファイルということです。そのファイルをどのPCで開いても同様の症状がでます。 >テンプレートに問題がありませんか。 そこなんですよ。 症状(5)・・・重くないワークシートをシートコピーしても、そのコピー(Sheet(2))が重くなることがある(ほとんど起きないが過去数例あった)。 にもかいたように重くないワークシート何度かシートコピーして突然重いワークシートに変化することがあるんデス(それまでのシートコピーでは重くならなかった)。仕方ないので(6)で対処し、再度印刷設定しています。 アドバイスありがとうございました。

  • 回答No.2
  • ja7awu
  • ベストアンサー率62% (292/464)

一応、次の操作で確認してみてはどうでしょうか。 ・ Alt + F11 で Visual Basic Editorを開きます。 ・ 次の1行をコピーします。 ActiveSheet.UsedRange.Select ・ イミディエイト ウィンドウ(表示されていなかったらCtrl + G) に貼り付けて、  その行にカーソルがある状態で<Enter>を押します。 ・ Alt + Q で シートに戻ります。 ・ 使っているセル範囲が選択されていますので、データの範囲と比べてください。 ・ データの範囲より多く選択されている場合は、不要な設定(書式など)があると  思われますので、余分な「列」または「行」を「削除」(消去ではない。  選択した行または列を右クリックで「削除」)します。 ・ 以上を繰り返し、UsedRange と データ範囲が合致するようにします。 ・ これを一度でも使用したシートで全て行うか、不要なシートは、削除します。 直接、データ範囲外の列、行を削除してもいいのですが、一応、原因追求のためです。 これで直りませんか。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

アドバイスありがとうございます。 早速、試してみました。けど使っているセル範囲とデータの範囲は一致してしまいました。 ただ、データ範囲外の不要なデータを探す方法として大変有用なので今後原因を考える一つの手段として参考になりました。ありがとうございます。

  • 回答No.1
  • papayuka
  • ベストアンサー率45% (1388/3066)

今回のケースにあてはまるか解かりませんが、、、 コピーを繰り返したシートでオートシェープが何重にも重なっていて重くなった事があります。 Sub Test() Dim sh As Shape, cnt As Long  cnt = 0  For Each sh In ActiveSheet.Shapes    cnt = cnt + 1  Next sh  MsgBox cnt End Sub

共感・感謝の気持ちを伝えよう!

質問者からのお礼

早速のアドバイスありがとうございます!  過去、オートシェイプの貼付すぎで症状(1)画面のスクロールが遅くなるというケースはありました。上記のVBAはオートシェイプの個数を数えるのに便利ですね。参考にさせていただきます。  ただし、「オートシェイプの貼付すぎ」は症状(2)セル入力の重さには影響しないようなので(全くオートシェイプ貼付を行っていないワークシートでも(2)は起こる)原因を特定できなくて困ってます。

関連するQ&A

  • PerlでExcelのワークシートを同じファイル内にコピーしたりワーク

    PerlでExcelのワークシートを同じファイル内にコピーしたりワークシートの名前を変更することは可能でしょうか? 環境は、WindowsXPpro、IIS5.1、PerlV5.10でWin32_OLEモジュールを使用しています PerlでExcelのワークシート内セルに書き込み・セルからの読み出しはできています。 VBAではワークシートをコピーする場合は、 「Worksheets("Sheet1").Copy After:=Worksheets("Sheet3")」 でコピーできるようですが、 Perlではどう記述すれば良いか分かりません。 Perlではワークシートをコピーしたりワークシートの名前を変更することは出来ないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Perl
  • EXCEL VBA ワークシートのコピーについて

    seaclearsky8です。 一つのブックに何枚ものワークシートを追加して保存するVBAについて ご教授、よろしくお願いします。 コピー元  MASTER Book MASTER Workseets コピー先 Copy Book copy Worksheets コピー元にはワークシートがMASTERワークシートの一枚しかありません。 その一枚のワークシートに値をVBAで入れていき処理し コピー先のコピーBOOKにワークシートをコピーしていきたいです。 しかし、MASTERBOOKの処理が何通りかあり、 コピー元の一枚のワークシートに 処理別にデータを写し コピー先BOOKに          ワークシート名 ワークシート1 処理1ワークシート  ワークシート2 処理2ワークシート ワークシート3 処理3コピー元ワークシート3 という具合にワークシートを複数コピーしたいのですが 処理ごとにデータを代入し、コピー処理はできるのですが。 コピー先BOOK ワークシート3 処理3ワークシート だけしかコピーされてないBOOKが作成されます。 上書きされているのだと思われます。 対処法が調べましたが見つけられていません。 すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。

  • EXCEL VBA ワークシートのコピーについて

    seaclearsky8です。 一つのブックに何枚ものワークシートを追加して保存するVBAについて ご教授、よろしくお願いします。 コピー元  MASTER Book MASTER Workseets コピー先 Copy Book copy Worksheets コピー元にはワークシートがMASTERワークシートの一枚しかありません。 その一枚のワークシートに値をVBAで入れていき処理し コピー先のコピーBOOKにワークシートをコピーしていきたいです。 しかし、MASTERBOOKの処理が何通りかあり、 コピー元の一枚のワークシートに 処理別にデータを写し コピー先BOOKに          ワークシート名 ワークシート1 処理1ワークシート  ワークシート2 処理2ワークシート ワークシート3 処理3ワークシート という具合にワークシートを複数コピーしたいのですが 処理ごとにデータを代入し、コピー処理はできるのですが。 コピー先BOOK ワークシート3 処理3ワークシート だけしかコピーされてないBOOKが作成されます。 上書きされているのだと思われます。 対処法が調べましたが見つけられていません。 すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。

  • ワークシートを別ファイルにコピー出来ない

    エクセル2010です。 コピー元ファイルを開き、ファイルメニュー→新規→空白のブック により新ファイルを開き、コピー先ファイルとして名前を付けて保存、 コピー元ワークシートを選択しシートコピーしようとすると、以下のエラー表示があります。 文面忘れましたが、 コピー元とコピー先でワークシートの行列数が異なるため、コピー出来ない。ワークシートでなくデータを選択し、コピー&ペーストせよ。 ちなみに、作成したコピー先ファイルを一旦閉じて再度開くと、何故か普通にワークシートコピー出来ます。 メッセージに従うとセル幅や印刷範囲の設定がコピーされないので、やりたくありません。 普通にシートコピーしたいのです。一旦閉じて再度開くなどという動作は回避出来ないのでしょうか?

  • エクセルの単数ワークシートについて

    下記の問題で躓いています、ご教授お願いします。 エクセルの単数ワークシートの説明で、次のうち誤っているのはどれか 1.ワークシートのコピーができる。 2.ワークシートのシート名を変更できる 3.ひとつのワークシートだけ削除できる 4.新規のワークシートを挿入できる

  • EXCELのワークシートについて

    1画面にワークシートを上下に2枚表示するには、どのようにしたら出来ますか。 複数シートのファイルを読み込んで(既にデータ作成済みの)、そのうちの1枚シートを、上に表示したブランクシートにコピーしたり移動したりしたい。 このコピーや移動の方法は分かるのですが、上下に2枚表示する方法が分からないのです。 1年半EXCELから遠ざかっていたら忘れてしまいました。 参考書を見ても理解出来ません。

  • Excelのワークシート結合

    Excel97を使っています。 複数のワークシートのデータをCut&Paste以外の方法で 一つのワークシートにコピーする方法はありませんか?

  • エクセルのワークシートの並べ替え

     エクセル2000を使っていますが、シートがsheet1~sheet**まで並んでいます。(そのファイルによって数は違いますが、シート名は必ずしも1~ではなく、また、必ずしも1つづつ増える数でもありません。どのファイルもシートは100以上あります) これを逆順に並べ替えたいのですが、どのようにすれば良いのでしょうか?多分、マクロを組めば良いのでしょうが。。。。。  ちなみに、全てのシートにデータが入っています。

  • VBAのワークシートの追加とコピーなんですが。

    VBAのワークシートの追加とコピーなんですが。 sheet1の原紙をすべてコピーして、 新しくワークシートを追加してそのシートに貼り付けるプログラムを 教えてください。

  • エクセルでワークシートをコピーすると、変なメッセージが

    同じエクセルのファイル内で、ワークシートをコピーすると下のメッセージが出る事があります。 これを出ないようにするにはどのようにしたら良いでしょうか? メッセージ: 「移動またはコピーする数式またはシートには、移動またはコピー先のワークシートに既にある名前’XXX’が含 まれています。」