AIに聞いた、VBAプログラミング高速化


🚀 VBA 高速化の最重要ポイント(実務で効く順)
① ScreenUpdating を切る(最強)
Application.ScreenUpdating = False
画面描画が止まるので 体感で 5〜20 倍速くなる。
② Calculation(再計算)を手動に
Application.Calculation = xlCalculationManual
大量セルを触る処理では これだけで爆速。
処理後に戻す:
Application.Calculation = xlCalculationAutomatic
③ EnableEvents を切る
Application.EnableEvents = False
イベント(Change, SelectionChange)が走ると激遅になる。
④ Select / Activate を使わない(超重要)
悪い例:
Range("A1").Select
Selection.Value = 123
良い例:
Range("A1").Value = 123
これだけで 10 倍速くなることもある。
⑤ Range をループしない(配列に読み込む)
悪い例(激遅):
For i = 1 To 10000
Cells(i, 1).Value = Cells(i, 1).Value * 2
Next
良い例(爆速):
Dim arr, i
arr = Range("A1:A10000").Value
For i = 1 To UBound(arr)
arr(i, 1) = arr(i, 1) * 2
Next
Range("A1:A10000").Value = arr
配列処理は 50〜100 倍速い。
⑥ With を使う
With Worksheets("Sheet1")
.Range("A1").Value = 1
.Range("A2").Value = 2
End With
⑦ Variant を避ける(Double / Long を使う)
計算が多い場合は型指定で高速化。
⑧ UsedRange を使わない(地雷)
UsedRange は壊れていることが多く、
無駄に広い範囲を処理して激遅になる。
代わりに:
Dim lastRow As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
⑨ Application.StatusBar を使わない
頻繁に更新すると逆に遅くなる。
⑩ Selenium の高速化(あなた専用)
driver.SetPreference "profile.managed_default_content_settings.images", 2
→ 画像読み込みオフ(2〜5倍速)driver.SetPreference "permissions.default.stylesheet", 2
→ CSS オフdriver.SetPreference "javascript.enabled", False
→ JS オフ(使えるサイト限定)
🔥 実務で使える「高速化テンプレート」
あなたの全 VBA に共通で使える“最強テンプレ”です。
Sub FastStart()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
End Sub
Sub FastEnd()
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Sub
処理の前後に入れるだけで 全体が爆速化します。
この記事が参考になった!と思ったら、下のバナーをクリックして応援お願いします😊
🎯仕事に疲れたときは
私はこれです。仕事終わりや、チョっとつかれたときに、ミックスナッツとウイスキーまたは赤ワイン。
コード譜書くのって結構つかれるのです。
トリフ塩があれば最高です。軽く燻製してもグッド


