• 締切済み

マクロを組んだエクセルの動作が遅い

OS: Windows 2000 マクロを組んだエクセルの動作が非常に、異常に遅いのです。 マクロを組んでいないエクセルはすぐに起動でき、すぐに印刷、終了ができるのですが、 マクロを組んでいるエクセルは起動するのに1~2分、印刷も終了も同じく遅いのです。 また、マクロを組んでいるエクセルを開く際に、タスクマネージャでCPU使用率を見て みると、必ず100%になっているんです(マクロを組んでないものは100%までいかない)。 日に日に動作が遅くなっているように感じ、とても困っています。 ご教授ください。m(__)m

みんなの回答

  • coldblade
  • ベストアンサー率20% (2/10)
回答No.5

答えはまだないようですが、 マクロは実行しないとエクセルの動作に影響ほぼないです。 但し、数式にマクロを呼んでいる場合、或いは数式はとても多い場合、 エクセルは非常に遅くなります。 この場合、エクセルのオプション設定により、 数式を自動計算しないようにすることができます。 図を参照してください。 ----------------------------

全文を見る
すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

そういえば、時と共にExcelのスピードが遅くなる原因として、もう1つありますね。 C:\Documents and Settings\[ユーザー名]\temp\ の中です。ここの場所を可能なものは全部削除して構いません。 ここに残骸が溜まりやすいのです。

全文を見る
すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 まさか、Chk101_Click() というようなコードが、チェックボックス 100個とか? 私は、そのようなコードは書きませんが、コード的には、標準的な内容に思えます。 >他の人のパソコンで同じファイル(マクロを組んである)を開いてみると、スムーズに開くんです。 後は、アンチウィルスの問題や、Excelのxlbファイル、アドイン、個人用マクロブック(Personal.xls)などが原因のこともあります。 また、 >何ヶ月か前までは普通に起動していたんです。 ということでしたら、ブックの中のシートをひとつずつコピーして(オブジェクト+シートモジュールも一緒に行きます)、新しいブックにして使ってみるという方法もあります。マクロは、エキスポート・インポートでもよいし、コピー&ペーストで貼り付けてもよいと思います。 今のところ、はっきりした原因と対策は分かりませんので、手当たりしだいにやってみるしかありません。

全文を見る
すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 マクロを組んだExcelで遅くなることがあるのですね。ある人のマクロを見せられて、「さもありなん(そういうこともある)」と思いました。ご質問者さんが、必ずそうだというわけではありません。  記録マクロ+数式多数 のマクロではありませんか?もし、そうなら、申し訳ないのですが救いはないです。 そういう、マクロは捨てるしかありません。基本の勉強のしなおしです。 もともと、マクロをなぜ設置するかというと、ワークシートのメモリ消費を減らすためにもあるのです。例えば統計で配列数式などの難しい数式でもマクロで入れるのならサクサクと入ります。それが、逆になってしまっている人がいます。 マクロというのは、そのブックの起動時に、中間言語に翻訳されながら、展開していきます。ところが、マクロの中に書かれたワークシートの直接のセル群は、常にワークシートとの関連性があるので、どんどんメモリ消費して膨れ上がってしまいます。私が言った内容なら、それは、直しようがないのです。 違うのでしたら、少し、マクロの数行を出してみてください。

_hitori_
質問者

補足

自分で組んだマクロではなく、また、何ヶ月か前までは普通に起動していたんです。 だんだんと起動するのが遅くなってきて、今に至ってます。 マクロは ' ■■■■■ 決裁者 ■■■■■ ' ■支社(本部)長 Private Sub Chk101_Click() Call Chk_Click(Chk101, "Y13:AI13") End Sub ' ■副支社(副本部)長 Private Sub Chk102_Click() Call Chk_Click(Chk102, "AJ13:AW13") End Sub ' ■次長 Private Sub Chk103_Click() Call Chk_Click(Chk103, "AX13:BC13") End Sub ' ■部長 Private Sub Chk104_Click() Call Chk_Click(Chk104, "BD13:BI13") End Sub ' ■支店長 Private Sub Chk105_Click() Call Chk_Click(Chk105, "BJ13:BP13") End Sub (中略) ' ■ラベル処理(セルの塗潰し、フォント変更) Private Sub Lbl_Fill(ByRef objChk As Object, ByVal strRange As String, ByVal bolBool As Boolean) If bolBool = True Then Range(strRange).Interior.ColorIndex = 6 objChk.Font.Name = "MS Pゴシック" objChk.Font.Bold = True objChk.Font.Size = 13 objChk.BackColor = &HFFFF& Else Range(strRange).Interior.ColorIndex = 0 objChk.Font.Name = "MS Pゴシック" objChk.Font.Bold = False objChk.Font.Size = 12 objChk.BackColor = &HFFFFFF End If End Sub と、こんな感じにチェックボックスがいくつかあって、チェックした項目を黄色く塗りつぶすマクロです。

全文を見る
すると、全ての回答が全文表示されます。
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

マクロの有無によって動作が変化する事は無いと思います。 但し、何らかのイベントによってマクロが実行されるのであれば、マクロの実行方法等を再検討する必要が有るでしょう。 マクロ以外で時間が掛る場合としては、膨大な数の計算式がセルにある場合には再計算が常に行われる事になるので、動作に時間が掛るようになります。 どのようなマクロを組んだのか解りませんが、マクロが動作しないように(エクセルファイルをコピーして、マクロモジュールを削除する等)した場合などと比較するなり、個々のマクロの実行状態をチェックするなりして、問題点を洗い出すしか無いと思います。

_hitori_
質問者

補足

マクロを組んでいないファイルはスムーズに開くのですが、マクロを組んだファイルは起動が遅いのです。 また、他の人のパソコンで同じファイル(マクロを組んである)を開いてみると、スムーズに開くんです。 そのファイルに問題があるのではなくて、自分が使っているパソコンに問題があるのかもしれません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Win 7、 CPU100%で正常動作しない

    ノートPC(emachines D525、 CPU:2.2G、メモリー:2G、OS:WinVista)に Windows7をインストールしました。 動作がすべて遅く、起動に3分もかかり、各ソフト(ワード、エクセル、インターネットなど)の起動・動作も異常に遅い。 タスクマネージャを起動するとCPU使用率が100%となっており、プロセスを見るとACASP.exeが97と表示されます。これを終了させると動作が普通(早く)になります。 しかし、再起動するとまた同じ状態に戻ってしまいます。 どのような対処をすれば良いのがご教授下さい。 tosi123miy

  • EXCEL VBAマクロの実行優先度を下げたい

    いつもお世話になっております。 EXCEL VBAであるマクロを実行させています。 このマクロは終了するのに丸1日以上掛かるもので、それを実行している間、EXCEL.EXEのCPU使用率が100%になってしまいます。 私の所有するPCパワーが乏しい&所有PCが1台だけのため、このマクロを実行している間、EXCEL以外の他の作業の動作がとても遅くて困っています。 例えば、テキストエディタで文字を打って変換するのに数秒かかったりします。 タスクマネージャでEXCEL.EXEのプロセス優先度を下げることができるのは知っていますが、以前別のマクロでそれを実行して他の作業をやっていた時にEXCELが強制終了された経験があり、私のPCではタスクマネージャによるプロセス優先度の変更はシステムが不安定になることに繋がるようです。 ですので、できることなら、実行中のVBAマクロのみ優先度を下げたいんですが、そのようなことは可能なのでしょうか。 よろしくお願いいたします。

  • 特定のエクセルファイルだけの動作が異常に遅い

    特定のエクセルファイルだけの動作が異常に遅く 編集できず困っております。 使用OS、PCスペックは以下のとおりです。 使用OS:WINXP Pro 使用エクセル 2003 PCスペック HD容量 80G メモリ 512mb CPU celeron2.4G 対処するために行った作業としては ■拡張子XLBファイルの削除を行い、再起動。 ■アプリケーションの修復 ■アプリケーションの再インストール ■ウイルス対策ソフトを終了させる。 です。 作業を行った後に問題のエクセルファイルを 開こうとしてもやはり、動作の遅さは解消されません。 気になった点としては、問題のエクセルファイル を開くときだけCPUの使用率が100%になってしまう事と タスクマネージャーのアプリケーションの項目にエクセル のプロセスが二つ表示されることです。 お忙しい中大変申し訳ございませんが、どなたかお知恵を お貸しくださいますととても助かります。 どうぞよろしくお願いいたします。

  • エクセル マクロ たまに固まる!

    超初心者です。よろしくお願いします。 最近マクロに興味を持ち始めたのですが、たまに実行するとエクセルが固まって閉じられなくなるときがあります。確か「なんとかの情報をなんとかしています。この処理には数分かかります。」みたいなメッセージが出ていたような気がします。 タスクマネージャのアプリケーションからも終了できず、プロセスから終了すると閉じることができました。これは防ぐことのできないトラブルですか?

  • 動作がのろい!

    最近、ノートパソコン(XP)の動作がものすごく遅くなりました。 フォルダの開け閉じ、MediaPlayerの起動、終了が特に遅いです。 フリーズみたいになって、タスクマネージャで見ると、 応答せずでCPU使用率が100%になっています。 タスクの終了で強引に閉じてなんとか復活している次第です。 驚速というソフトを使ってみましたがあまり改善が見られません。 ディスククリーニングは毎日行っています。 オンラインウイルススキャンやスパイウェア削除も頻繁に。 何か改善策はないでしょうか?

  • Excel マクロの実行が途中で止まり(応答なし)になるのですが・・・

    単純な1行おきに色を付けるマクロなのですが、 実行すると400件位は処理するのですが、そこで固まってしまいます。 1.5MB のデータで15000件位あります。 タスクマネージャのCPU使用率は100%になってます。 どのように対応すればよいか、ご教授お願いします。

  • エクセルマクロ

    エクセルのマクロでプリンタのドライバーをFAXソフトに切り替えて、印刷(FAX)し、その後また通常のプリンターに切り替えて印刷することを中心としたマクロを動かすと、エクセルが強制終了の 状態になることがあります。 必ずなるわけではなくて、何事も無く終了できることもあります、ウィルススキャンのソフトを常駐させておくとマクロの動作が不安定になるとも聞いたのですが、そのようなことはあるのでしょうか? それとも他になにか原因があるのでしょうか・

  • 急にPCの動作が遅くなりました。

    おとといから急にPCの動作が遅くなりました。以前兄がゲームをしていて、終了させて違うゲームをする時に、無茶苦茶な終わり方をしていて・・・これが原因かわからないですが・・・ それ以来マウスの動きは遅いし、PCの動作も遅くなってしまいました。最適化などしてみましたが変わりはありませんでした。 タスクマネージャーを見たところ、CPUが常に100%に近い状態です。再起動しても同じ状態です。これはなぜなのでしょう。わかる方お願いします。 OSはWINDOWS XPです。

  • 夜間だとvbsからエクセルマクロが起動しない。

    夜間だとvbsからエクセルマクロが起動しない。 wiodowsのタスクスケジューラでbatを起動し、batからvbsを起動し、vbsからエクセルマクロを起動する夜間バッチを作ったのですが、エクセルマクロが起動するタイミングでvbsが処理終了?します。 タスクスケジューラから手動起動したり、昼間に時間を指定した場合は問題なく動くのですが、夜間(早朝5:30)だと動きません。 たまたまエクセルマクロが異様に時間がかかっている可能性も考えましたが、朝9時時点でタスクマネージャのプロセスにEXCEL.EXEはいませんでした。 夜間バッチで特に気をつけるべきことはあるでしょうか?

  • 2つのexeファイルを別のCPUで動作させるには

    デュアルコアCPUを有するPCで、 ある二つのソフトウェア(2つのexeファイル)をしているのですが、 動作がものすごく遅くなることがしばしあります。 タスクマネージャーで「プロセッサの関係」を見てみると、 2つとも「CPU0「,「CPU1」にチェックが入ってました。 その後、 片方のexeファイルを「CPU0」のみにチェック、 もう一方のexeファイルを「CPU1」のみにチェックをすると、 動作が遅くなるという不具合が起きなくなりました。 (OSはWindows XPです。) 上記のようにexeファイルを起動毎にタスクマネージャー内の 「プロセッサの関係」から設定するのではなく、 exeファイルを実行した瞬間からCPUの定義を行うことは 難しいのでしょうか。 どなたか簡単な手法をご存じの方いらっしゃいましたらご教授願います。

このQ&Aのポイント
  • SD-90をPCと接続して双方向やり取りができない問題について、Windows 10でのドライバーインストール方法や設定について解説しています。
  • SD-90を中古で購入しPCと接続して使おうとしたが、ドライバーのインストールに問題があり、テストモードでのドライバーインストールが必要だったことを紹介しています。
  • SD-90とPCの接続方法やドライバーのインストール手順、音楽ファイル再生時のトラブルについて説明しています。
回答を見る

専門家に質問してみよう