En Vba, el bucle for (recorrido por las columnas) 1 no establece el rango de datos que puede encontrar.
Ejemplo
Supongamos que la columna A de la tabla tiene n filas y no hay filas en blanco Sub?xxx()
Dim?n?As?String
n?=?WorksheetFunction.CountA(Columns(1))
For?i?=?1?To?n
xxxxxx
Siguiente
End?Sub
n =? ¿Cuántas filas hay en la columna? n obtendrá cuántas filas, que es varias veces la ejecución anterior