Making Faster For...Next Loops

Last modified: December 06, 2011

Applies to: Office 2013 | VBA

Integers use less memory than the Variant data type and are slightly faster to update. However, this difference is only noticeable if you perform many thousands of operations. For example:

Dim CountFaster As Integer    ' First case, use Integer. 
For CountFaster = 0 to 32766     
Next CountFaster 
Dim CountSlower As Variant    ' Second case, use Variant. 
For CountSlower = 0 to 32766 
Next CountSlower 

The first case above takes slightly less time to run than the second case. However, if CountFaster exceeds 32,767, an error occurs. To fix this, you can change CountFaster to the Long data type, which accepts a wider range of integers. In general, the smaller the data type, the less time it takes to update. Variants are slightly slower than their equivalent data type.

© 2015 Microsoft