【Excel VBA】高速化方法まとめ

VBA

随時更新

1.画面更新を無効にする

よくやる方法

Sub Test()

    '画面更新 無効
    Application.ScreenUpdating = False
    
    '処理
    Dim i As Integer
    For i = 1 To 10000
        Cells(1, 1).Value = 1
    Next
    
    '画面更新 有効
    Application.ScreenUpdating = True

End Sub

2.再計算を手動する

数式を使っているときに有効

Sub Test()

    '再計算 手動
    Application.Calculation = xlCalculationManual
    
    '処理
    Dim i As Integer
    For i = 1 To 10000
        Cells(1, 1).Value = 1
    Next
    
    '再計算 自動
    Application.Calculation = xlCalculationAutomatic

End Sub

3.イベント発生を無効にする

セルの変更イベント等を作成している場合は無効にすることで速度向上が期待できます

Sub Test()

    'イベント発生 無効
    Application.EnableEvents = False
    
    '処理
    Dim i As Integer
    For i = 1 To 10000
        Cells(1, 1).Value = 1
    Next
    
    'イベント発生 有効
    Application.EnableEvents = True

End Sub

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です