宮崎県延岡市 | スマイルカラーソフトウェア | ユーザースタイルに合わせたプログラミングでお客様に幸せをお届けします。

高速化:その4

“マクロの記録”をそのまま使用しない
「マクロの記録」機能を使って実際の操作を行えば、 それを実現するためのVBAを自動生成してくれる機能。ありがたいですね。
でも、それをそのままコピペしてたら無駄なコードが増えてしまい、無駄な処理のために処理速度が下がっていきます。
無駄なコードをカットして効率よいコードにしましょう。

無駄な Select はしない

    ' Before
    Range("B4").Select
    ActiveCell.FormulaR1C1 = "123"
    
    ' After
    Range("B4").FormulaR1C1 = "123"

必要ないコードは省く

   ' Before
    Range("B4").Select
    With Selection.Font
        .Name = "MS Pゴシック"
        .Size = 10              ' ← 本来はフォントサイズを変更したいだけ
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
    
    ' After
    Range("B4").Size = 10

《 同一カテゴリ内の前後の記事》