【VBA】処理速度を上げるApplication.ScreenUpdating = False
スマホやPCでWEBページを見ている際、なんならアプリの処理が遅くてイライラすることありますよね。
ちなみに僕のスマホは通信制限が月2GBとか鬼のようなプランなので大体毎月中旬から泣いてます。
VBAではコードで処理速度を速くしてくれるコードがあるので覚えておくととても便利なんのでご紹介します。
目次
1行目に書くApplication.ScreenUpdating = False
直訳すると「Excelの画面更新を停止せよ」という命令文です。
抑制(False)、復活(True)するもので、今回のように抑制(False)されている間は画面が全く更新されません。
更新されないから処理の速度が上がるというわけです。
ちなみに途中で画面更新が必要になる場合は途中に復活を挟むこともできます。逆も然りです。
長々と入力するのが大変?
ご存知の方も多いかと思いますがVBAでは入力候補のリストが出てくるのでフル入力しなくてOKです。
ちなみに入力候補リストを出すショートカット
Ctrl + Space
入力候補が出たら、例えば「Application」は、「ap」という2文字を入力すれば2つ目の候補に出てきます。
マウスに手を移すのは煩わしいので「↓(キー)」で選択し、Tabを押すと入力補完されます。
続けて「.(ドット)」
↓Tab不要
「sc」(ScreenUpdatingは候補の一番上)
↓Tab
「=」「↓(Falseが一番上にある)」
これで一瞬で入力が完了します。
長いし面倒かもしれませんが最初はゆっくり慣れてもらえれば良いかと。
この入力補助については今回に限らず、よく使いますのでこちらも習慣にしてしまいましょう。
入力補助を使うメリット
きちんと書いているとツールを作る上では作業効率が下がります。
入力補助の機能を使うと
「フル入力するのが面倒なくらい長いやつを瞬殺できる(今回のApplicationとか)」
「手入力で起こりがちなスペルミスなどが発生しなくなる(ScreenUpdatingをScreenUpdateと間違えたり)」
などのメリットがあります。
まとめ
Sub test()
Application.ScreenUpdating = False
End Sub
これが基本形体と覚えてしまいましょう。
英単語覚えるのが苦手だからVBAも覚えられない…という人も「Ctrl + Space」を使えばスペル自体はうる覚えでも大丈夫。