ループ変数の適切な型指定(パフォーマンスとミス防止のポイント)

VBAでループ処理を書く際、ループ変数の型を指定することはとても大切です。型を適切に指定しないと、処理速度が落ちたり、予期しないバグが起きる可能性があります。


1. ループ変数に使う型の基本

For i = 1 To 10のような書き方をよく見かけますが、iの型が明示されていないと、自動的にVariant型として扱われます。

例:型を指定しないパターン

Dim i
For i = 1 To 10
Debug.Print i
Next i

この場合、iはVariant型になり、処理速度が遅くなる原因になります。


2. 正しい型指定の方法

数値カウントなら Integer や Long を使う

Dim i As Integer
For i = 1 To 10
Debug.Print i
Next i
  • Integer: -32,768 〜 32,767 の範囲(処理が軽い)
  • Long: より大きな値に対応(2,147,483,647まで)

※ループ回数が多い場合は Long の方が安全です。


3. 型が合わないとどうなる?

Dim i As String
For i = 1 To 5
Debug.Print i
Next i

このように、不適切な型(例:String)を指定するとエラーや予期しない動作が起きることがあります。


4. Option Explicitを使おう

先頭に Option Explicit を書いておくと、型を必ず明示するように求められます。これでミスを事前に防ぐことができます。


5. まとめ

  • ループ変数には数値型(IntegerLong)を明示的に指定しよう
  • 大きなループ回数が想定されるなら Long を使おう
  • Option Explicit で宣言ミスを防ごう

正しい型指定をすることで、パフォーマンスも上がり、予期せぬバグも減らすことができます。基本の習慣として、しっかり身につけましょう!

コメント

タイトルとURLをコピーしました