Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12018 / 13645 ツリー ←次へ | 前へ→

【12831】処理速度向上の方法 山プ〜 04/4/16(金) 14:09 質問
【12834】Re:処理速度向上の方法 IROC 04/4/16(金) 14:23 回答
【12835】Re:処理速度向上の方法 ぴかる 04/4/16(金) 14:29 回答
【12837】Re:処理速度向上の方法 Asaki 04/4/16(金) 15:00 回答
【12838】Re:処理速度向上の方法 山プ〜 04/4/16(金) 15:39 お礼

【12831】処理速度向上の方法
質問  山プ〜  - 04/4/16(金) 14:09 -

引用なし
パスワード
   漠然とした質問となってしまうのですが、マクロの処理速度を向上させるには、
どのような方法があるのでしょう。

いろいろ自分なりに調べたところ、

1.Application.ScreenUpdating = Flase を使って、画面を固定させる。

2.変数にVariant型を使用するのを極力避け、メモリ使用量を減らす。

3.「.select」で、セルやシートを選択してから処理を行うのではなく、
  直で処理を行う。
  
  Sheets("あああ").Select
  ActiveWindow.SelectedSheets.Delete   ではなく

  Sheets("あああ").Delete

以上の3点を処理に組み込んで、それなりに効果はあがっているのですが、
この他にも効果のある方法がございましたら、今後のためにも教えて
いただければと思います。

よろしくお願いいたします。

【12834】Re:処理速度向上の方法
回答  IROC  - 04/4/16(金) 14:23 -

引用なし
パスワード
   そのくらいだと思います。

あとは、ロジックを見直したり、
ブックのサイズを小さくするように工夫するくらいかな。


すごく細かいことですが、

Range("A1")
 ↓
Cells(1,1)

Range("A1:A10")
 ↓
Range(Cells(1,1),Cells(10,1))

のように "" で囲まれた 文字 を使わないと、少し速くなります。

【12835】Re:処理速度向上の方法
回答  ぴかる  - 04/4/16(金) 14:29 -

引用なし
パスワード
   山プ〜さん、こんにちは。

マクロ実行中、計算方法を手動にしておいたら、ちいとばかり速くなったような・・・。

【12837】Re:処理速度向上の方法
回答  Asaki  - 04/4/16(金) 15:00 -

引用なし
パスワード
   こんにちは。

セルへのアクセス回数を極力減らす
というのも、有効です。

例えば、あるセル範囲の値に対して計算を行う場合などは、
一旦、配列に値を取り込み、配列で計算して、再度、セルに値を書き戻すなど
です。

【12838】Re:処理速度向上の方法
お礼  山プ〜  - 04/4/16(金) 15:39 -

引用なし
パスワード
   みなさん、すばやいご回答ありがとうございました。

今回の処理するマクロで取り入れられそうなものは
早速、試してみたいと思います。

また、今後作成するときにも参考とさせていただきたいと思います。

ありがとうございました。

12018 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free