[MSOffice:ExcelVBA]処理の高速化

サンプルコード

エクセルへの書き込みを制御

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub FastCode ()
    '変数の宣言
    Dim x  As Integer
    Dim y  As Integer
    Dim i As Integer
    '初期化--任意の設定
    x = 1
    y = 1
    i = 1
    '画面描画抑止モード
    Application.ScreenUpdating = False
    'メイン処理
    Do Until i > 10000
        y = i
        Sheet1.Cells(y,x).Value = "hoge"
        i = i + 1
    Loop
    '画面描画モード
    Application.ScreenUpdating = True
    MsgBox ("Finish!")
End Sub

参考資料

Application.ScreenUpdating Property

URL:Application.ScreenUpdating Property[Excel 2013 Developer Reference]

つぶやき

ExcelのVBAをバリバリに組む人は、ほぼ当たり前みたいな定番のコーディング🎵
一番処理が遅いディスクへのI/Oを極力減らすというのが本質です✨