Excel VBA テクニック集
VBA高速化テクニック1





Excel VBA テクニック集
VBA高速化テクニックです。

Select
Excelでマクロを記録すると、たとえばフォントサイズを変更すると、下記のようになります。
    Range("B3:C4").Select
    Selection.Font.Size = 11
「Range("B3:C4").Select」により、「Excelの画面上で領域を選択する」という無駄な動きが発生します。
高速化をする場合、「Range("B3:C4").Select」を省略して、
    Range("B3:C4").Font.Size = 11
とします。
DisplayAlerts
Excel操作において、「変更内容を保存しますか?」のような注意メッセージが出ます。
VBAの処理中に注意メッセージが出ると、処理が中断しますので、メッセージが出ないようにします。
    Application.DisplayAlerts = False
      ・
      ・(VBA連続処理)
      ・
    Application.DisplayAlerts = True
    又は、
    Excel_App.Application.DisplayAlerts = False
      ・
      ・(VBA連続処理)
      ・
    Excel_App.Application.DisplayAlerts = True
UpdateLinks
「ファイルを開く」において、リンクを含むとそこでリンクのメッセージが出て、止まってしまいます。
そこで、ファイルを開くときにUpdateLinksの引数を指定して、リンクを無視し前回ファイルが保存された状態にします。
    Excel_App.Workbooks.Open FileName:=(ファイル名) , UpdateLinks:=0
ScreenUpdating
マクロ処理中、画面を更新しないようにします。マクロの動きは見えませんが、処理速度が速くなります。
    Application.ScreenUpdating = False
      ・
      ・(VBA連続処理)
      ・
    Application.ScreenUpdating = True
    又は、
    Excel_App.Application.ScreenUpdating = False
      ・
      ・(VBA連続処理)
      ・
    Excel_App.Application.ScreenUpdating = True

「こだわりハウス」写真館| 数学公式集| ピンポイントストリートビュー| FaceBook| Excel Vba テクニック集| Excel 計算式解析・他解析| 富山の建築家| Excel 計算式解析・他解析| 積分の定義・積分の記号の意味の研究|