非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Excel/VBAでDim宣言するとどれくらい速度UPするか検証した

      2017/09/28

結論を先に言うとDim宣言するとしないとでは速度に4倍もの差が開きます。VBAではDim宣言は必ずしも必要ではありませんが、速度が気になるような思い処理をする場合は、Dim宣言を必ずするようにしましょう。

以下検証結果です。

[ad#top-1]

速度検証したソースコード

コードは以下の通り、100,000,000回のループの中で3つの変数の計算を行っています。Dim宣言はコメントアウトしていますが、この状態の速度と、コメントアウトを外した時の速度との差を確認しました。

Sub TimeTest()
  'Dim a1 As Long
  'Dim a2 As Long
  'Dim a3 As Long
  'Dim a4 As Long

  a1 = 0
  a2 = 1
  a3 = 3

  time1 = Now()

  For i = 0 To 100000000
    a4 = a4 + a1 + a2 + a3
  Next i

  Range("C3") = Now() – time1
End Sub
 

 

検証結果

結果は下表にまとめました。単位は「秒」です。

 

Dim宣言なし Dim宣言あり
12.00000029 3.000000073

 

なんと、4倍もの速度差がありました。

今まで、宣言しなくても使えることをいいことに、Dim宣言を怠ってきましたが、これからはきちんと宣言しようと思った次第です。

[ad#ad-1]

スポンサーリンク

 - Excel, VBA