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. まとめ
- ループ変数には数値型(
Integer
やLong
)を明示的に指定しよう - 大きなループ回数が想定されるなら
Long
を使おう Option Explicit
で宣言ミスを防ごう
正しい型指定をすることで、パフォーマンスも上がり、予期せぬバグも減らすことができます。基本の習慣として、しっかり身につけましょう!
コメント