
たまにエクセルで起きるのですが、
特定のワークシートが重くなる(キー、マウス操作の待ち時間が長い。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
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
あと一つ思い出したのですが、シートにグラフは無いでしょうか。
環境が違うのですが(9×系で2000)この場合、グラフのフォントが問題になり、シートコピーを繰り返すと最終的には、エラーメッセージが出て動けなくなる。という現象がありました。
NT系なのでそこまで行かないで重くなる可能性もあるのでは。
この場合、グラフオプションでフォントの自動調整を外すと効果がある。
それから、シートコピーのエラーはエクセル2000ではエラーの出る可能性があった。この場合は、tsutsu1971さんの行っている(6)の方法が回避策としてとられていた。
重いシートにはグラフも無いんですよ。もう一度整理すると
●マクロ無し
●オートシェイプ無し
●外部参照のリンク無し
●グラフ無し
●文字フォント1種類
●罫線2~3種類
●セルの書式設定もせいぜい文字の横位置(中央、標準)程度しかいじらない。色も罫線、文字とも黒のみ。
上記のような場合、つまり、ごくシンプルな表(線太さ2種類。黒のみ)の掛け算と足し算のワークシート(せいぜい2ページ程度)でも重くなるんですよね。例えば簡単な見積内訳書のようなものでも。
年に数回レベルでしか出会わないのであきらめて(6)で対処しようかなと思います。
私の身近には全く同じ症状で困っている人(会社も、PC環境も異なる)、数人いるんですけど…これってバグっすか?
No.3
- 回答日時:
Ctrl+Endでセルの最後に飛びます。
これでシートの大きさが分かると思います。特定のファイルと言うことなのですが、特定のPCで作成されたファイルでしょうか。どのPCでも同じような状況なのでしょうか。テンプレートに問題がありませんか。新規ワークシートなら問題ないということなら、問題のテンプレートがあるような気がするのですが。
>特定のファイルと言うことなのですが、特定のPCで作成されたファイルでしょうか。
「特定のPCで作成」というわけではアリマセン。特定のファイルということです。そのファイルをどのPCで開いても同様の症状がでます。
>テンプレートに問題がありませんか。
そこなんですよ。
症状(5)・・・重くないワークシートをシートコピーしても、そのコピー(Sheet(2))が重くなることがある(ほとんど起きないが過去数例あった)。
にもかいたように重くないワークシート何度かシートコピーして突然重いワークシートに変化することがあるんデス(それまでのシートコピーでは重くならなかった)。仕方ないので(6)で対処し、再度印刷設定しています。
アドバイスありがとうございました。
No.2
- 回答日時:
一応、次の操作で確認してみてはどうでしょうか。
・ Alt + F11 で Visual Basic Editorを開きます。
・ 次の1行をコピーします。
ActiveSheet.UsedRange.Select
・ イミディエイト ウィンドウ(表示されていなかったらCtrl + G) に貼り付けて、
その行にカーソルがある状態で<Enter>を押します。
・ Alt + Q で シートに戻ります。
・ 使っているセル範囲が選択されていますので、データの範囲と比べてください。
・ データの範囲より多く選択されている場合は、不要な設定(書式など)があると
思われますので、余分な「列」または「行」を「削除」(消去ではない。
選択した行または列を右クリックで「削除」)します。
・ 以上を繰り返し、UsedRange と データ範囲が合致するようにします。
・ これを一度でも使用したシートで全て行うか、不要なシートは、削除します。
直接、データ範囲外の列、行を削除してもいいのですが、一応、原因追求のためです。
これで直りませんか。
アドバイスありがとうございます。
早速、試してみました。けど使っているセル範囲とデータの範囲は一致してしまいました。
ただ、データ範囲外の不要なデータを探す方法として大変有用なので今後原因を考える一つの手段として参考になりました。ありがとうございます。
No.1
- 回答日時:
今回のケースにあてはまるか解かりませんが、、、
コピーを繰り返したシートでオートシェープが何重にも重なっていて重くなった事があります。
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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Excel(エクセル) Excel同士のデータの突合 3 2023/08/07 16:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで入力→日付を自動判別...
-
VBAのフォームにレコード番号を...
-
EXCELで困ってます。今日中には...
-
Excelの中央値の複数条件について
-
エクセルのワークシートが重く...
-
VBA セルの値と同じ名前のシー...
-
ExcelVBAで、指定したシートに...
-
IF, ISNUMBER, INDIRECTの組み...
-
Excelで複数のシートの合計を別...
-
Excelの選択肢をポップアップリ...
-
【Excel】VLOOKUP関数で複数の...
-
エクセルデータのリンク貼付(?)
-
[エクセル]先頭シートから最終...
-
excel(2003,2007) VBA 入力規則...
-
エクセルVBA:表の内容を担当者...
-
Excel ハイパーリンク先のセル...
-
Excelで数値→文字列変換で指数...
-
テキストボックス内の文字のふ...
-
Excelの関数について、特定の文...
-
エクセルにおける、グラフの指...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA セルの値と同じ名前のシー...
-
エクセルのワークシートが重く...
-
Excelの中央値の複数条件について
-
Excel ハイパーリンク先のセル...
-
ExcelVBAで、指定したシートに...
-
IF, ISNUMBER, INDIRECTの組み...
-
エクセルで入力シートから別シ...
-
エクセルについて質問です 日付...
-
エクセルVBA:表の内容を担当者...
-
指定した日付の範囲内でデータ...
-
VBAのoffsetの動き方について教...
-
EXCEL VBA 一致しないデータの...
-
エクセルで入力→日付を自動判別...
-
エクセル マクロを使って日々...
-
VBAを利用しオートフィルタで日...
-
エクセル 毎日更新する表のデ...
-
【Excel】VLOOKUP関数で複数の...
-
エクセル:複数シートのデータ...
-
Excel 複数のシートからグラフ...
-
質問:特定文字列から空白行ま...
おすすめ情報