2014年09月08日

VBAを高速化する17の技法(英語の記事)のタイトルだけ訳してみる

17 ways to Optimize VBA Code for FASTER Macros

1. (技法に頼る前に)ロジックを見直しましょう
2. 画面の更新をOFF(にして、その間に処理をさせましょう)
3. 自動計算をOFF(にして、その間に処理をさせましょう)
4. イベントを無効(にして、その間に処理をさせましょう)
5. 改ページは隠しましょう(古いオフィスだとおそくなる)
6. WITHを活用しよう
7. "" の代わりに vbNullString を使おう(記憶域のサイズがちょっと減るよ)
8.Objectのメモリーは解放しよう(set Obj = Nothing)
9. コードの行数を減らそう(コロン:で連結)
10. 定数(Constant)が使える局面ではそうしよう
11. 無意味なコピペ処理は、別の処理に書き換えよう
12. クリップボードにデータを貼り付けて使った後は消そう
13. [マクロの記録」のコードをそのまんま使うのやめよう
14. For Eachが使える場合はそうしよう
15. 遅延バインドより、事前バインドを使おう
16. Variant変数はあんまり使わないようにしよう
17. ワークシート関数が使える場合はそうしよう

今日はとりあえず、何も考えずに出来る9.を実施した。
疲れた。

リンク先に具体例が書いてある
SLOW MACROや、Instead Of が あまりパフォーマンスの出ない例で、
FAST MACROや、Use This が よりよいコードの例。

@20140909_002508 図らずも、
15. 遅延バインドより、事前バインドを使おう
が適用できるところに気づいて別の書き方で簡素に書き換えたら、処理速度が100倍くらい速くなったケースがあった。
元が100倍遅い状態だったのだけど、Excel2010までは、それでも遅く感じなかった。
なのに、2013で極端に遅くなり今日まであきらめ気味だったのだけど、劇的改善。
明日、会社で このコードを取り入れて、2010でもさらに早くなっていれば問題なし。
@2014/09/08 01:05 | Comment(0) | TrackBack(0) | 日記

・おすすめ楽天ショップ1:trendyimpact楽天市場店
・おすすめサプリショップ:iHerb.com
・おすすめ楽天ショップ2:上海問屋
Powered by さくらのブログ