¡Buen día a todos!
Además de lo dicho por Román, suponiendo que la expresión
Cant sea al comenzar el ciclo For la cantidad total de cadenas de la lista, se corre el riesgo de que, después de eliminar una o más cadenas (
Script.Delete), la variable I haga referencia a un índice ya no existente, lo cual también es causa de excepciones.
Es decir, si inicialmente Cant = 10, la variable I irá de 0 a 9 en el ciclo For, siendo 9 el índice mayor. Pero al eliminar una cadena de la lista, el índice mayor se reduce en 1, y en ese caso una referencia como
Script.Strings [ I] , donde I sea igual a 9, generará una excepción, ya que ahora el índice mayor será 8.
En los casos donde se aplica un proceso iterativo a una lista de elementos, es recomendable utilizar un ciclo While o Repeat en lugar de un ciclo For, cuando el proceso iterativo puede cambiar la cantidad de elementos de dicha lista.
Espero esto sea de utilidad, seguimos en contacto.
Al González.