- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルについて・・・(初歩?))
エクセルのVBAを他のエクセルで使用すると遅くなる理由と対処法
このQ&Aのポイント
- エクセルのVBAを別のエクセルで使用すると、立ち上げや終了にかなりの時間がかかる場合があります。特に古いバージョンのエクセルや古いパソコンの場合、さらに時間がかかる可能性があります。この問題を解決するためには、次のような対処法があります。
- まず、古いバージョンのエクセルやパソコンを使用している場合は、新しいバージョンのエクセルや高性能なパソコンにアップグレードすることを検討してください。また、VBAのコードを最適化し、処理速度を改善することも有効です。さらに、余計なプラグインやアドインを無効にすることも効果的です。そして、VBAのコードを必要最小限にすることで、処理速度を向上させることができます。
- もし上記の対処法でも問題が解決しない場合は、エクセル以外での作業を検討してみてください。エクセル以外のソフトウェアを使うことで、処理速度が向上する可能性があります。簡単なマクロを使う場合は、エクセル以外のソフトウェアを使ってみると良いでしょう。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 計算式としては単純な、/*+-がほとんどで、アベレージやIF関数も... →補足ですが、これは考え方が逆のような気がします。 なるべく関数や、VBAではオブジェクトのメソッドを使った方が、ロジックや演算子で計算するよりずっとずっと高速ですよ。
その他の回答 (2)
- 78tch
- ベストアンサー率31% (50/157)
回答No.2
いろんなシートをまたがって項の多い式がたくさん入ると、やはりメモリが少ないと大変でしょうね。 データを編集して再計算すると、やっぱり時間が掛かる、ということであればそういうことだと思いますよ。 重いのはエクセルのファイルを開く時だけなのでしょうか。 何をするにも遅い、ということであれば、一度OSのクリーンインストールをされてはいかがでしょうか。 メモリを足すのも有効かもしれません。128MB以上が望ましいと思います。 エクセルのみ重い、ということであれば、式ではなくVBAで計算してセルに値を入れるようにするとずっと速くなると思います。
- 78tch
- ベストアンサー率31% (50/157)
回答No.1
VBAというより、セルに関数を山ほど入れてらっしゃるのではないでしょうかね。 Workbook_Open()になにか重たい処理を書いているなら、一度それを外してみられては。
質問者
お礼
早速ありがとうございます。今から見直してみます。
質問者
補足
Workbook_Open()にはSheets("基本データ").Selectだけでした。後シートの数は35ページで、内データベースとして3ページ。数式が含まれているシートは5ページ関数の数は全部で300ぐらいだと思われます。(計算式としては単純な、/*+-がほとんどで、アベレージやIF関数も大して使っていません) 上のものとは違って、非常に軽いマクロを組んでも、あけるのに1分ぐらいかかってしまいます。それは関数は全く使ってないのですが・・・
お礼
メモリを足してみたり、VBAより計算させてみたりと、色々試しましたが、うまくいきませんでした。とほほ・・・ しかも日に日に遅くなっているような気がして・・ やっぱり寿命なのでしょうか・・・