マクロは、楽に、速くしちゃいましょう♪_秘密の呪文☆

久々になってしまいました><

 

 VBAをとてもがっつり書く機会をもらって、取り組んでいました。

 その時に、とても良かった方法を公開していきます。

 伝えるなんてもったいない、なんて後悔しません(笑)

 

 さぁ、マクロを書くぞ~、となった時、

 Sub と プロシージャ名を書いて、っとEnter!

 End Sub が出て来て、上矢印して、本文を、

というのが、いつもの流れですね。

 

 そしてまずやるお約束なことは、

 マクロの実行速度を速めるために、っと

 

① Application.ScreenUpdating = False

② Application.Calculation = CalculationManual

③ Application.EnableEvents = False

 

そして、End Subの前に、

①’ Application.ScreenUpdating = True

②’ Application.Calculation = xlCalculationAutomatic

③’ Application.EnableEvents = True

 と入れる方は多いと思います。

 

 これらは、セットで毎回、ぜひ入れておきたいコードですよね!

 (マクロ経験初期の場合、eventは入れ込んでいないと思いますので、

無くてもあまり影響はないのではないでしょうか。)

 

 ただ、この写経、ご覧のように、入力補完機能があるとは言え、

マクロのコードを作成する度に入れるには、

長くて多くてまことにめんどくさいです。

 ①~③をコピペして①’~③’に打ち換えるとしても、

・ 行の最後にカーソル → BackSpace→ 打ち換え

と、やはりめんどくさい!!

 

 それに大した内容じゃないのに、行を6行も増やしてしまっています。

 コードの区切りとして改行とかも入れていきますと、その無駄な行は、

約10行まで膨らんでしまいます。

 

 なので、最強の呪文をお伝えしますね☆

 これらをw例によって、ユーザー関数にしちゃいましょう^^☆

Sub Ju

  Application.ScreenUpdating = False

  Application.Calculation = CalculationManual

  Application.EnableEvents = False

 End sub

Sub Mon

  Application.ScreenUpdating = True

  Application.Calculation = xlCalculationAutomatic

  Application.EnableEvents = True

End sub

 

これで、

Sub 何とか()

 Ju

    ・・・・

 Mon

End Sub

「ju」「mon」と、たった5文字打つだけで、

同じ実行速度を上げる効果が、毎回楽に得られます!!

(VBEが勝手に、大文字に変換してくれますので、

何も考えずに「ju」「mon」と打つだけで大丈夫です。)

 この2つを作っておきますと、新しいモジュールを挿入した時も

気軽に、テストできますね^^

 

 次のように、サクッと、専用モジュールを新しく作って、

上の2つの関数を、コピペしてもらえれば

完了です☆☆

① Alt→I→M

(Alt:アクセスキー起動、I:インサート/挿入、M:モジュール)

続けて、

② F4→Tab:モジュール名の変更

で、

このモジュールの中に、コピペしてください。

 

あ、プロシージャの名前は、セットで覚えやすいかと思ってつけたものなので、

お好みで変えてくださ~い^▽^