Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Estructuras de Repeticion indexada en VBA
1. Estructuras de Repetición
(Repetición Indexada)
by Dpto de Programacion y Tecnologia Educativa UNIMET is licensed under a Creative
Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.
mrodriguez@unimet.edu.ve
2. La forma de repetición donde conocemos el número
de veces a repetir es la “indexada”.
Para contador = valorInicial hasta valorFinal
acción1
accion2
accion3
...
fin hacer
En este caso la repetición se realiza un número
determinado de veces, delimitado por los valores inicial
y final dados.
by Dpto de Programacion y Tecnologia Educativa UNIMET is licensed under a Creative
Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.
mrodriguez@unimet.edu.ve
3. Un ejemplo sería:
Leer n
Para cont = 1 hasta n
Mostrar cont
fin para
La modificación de la variable de control es automática
en incrementos o decrementos específicos.
Generalmente es de 1 en 1 pero pudiera ser de otra
frecuencia.
La salida para n = 3 sería:
Cont= 1
Cont = 2
Cont = 3
by Dpto de Programacion y Tecnologia Educativa UNIMET is licensed under a Creative
Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.
mrodriguez@unimet.edu.ve
4. El código en VBA sería:
by Dpto de Programacion y Tecnologia Educativa UNIMET is licensed under a Creative
Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.
mrodriguez@unimet.edu.ve
5. No hay que tomar decisión, puesto que se conoce de
antemano la cantidad de veces que se va a ejecutar el
proceso.
Sintáxis:
var se inicializa en valor1
For var = valor 1 To valor2 Step <inc>
Si valor 1 <= valor 2,
var va creciendo de
inc en inc hasta
var > valor2
Instrucciones
Next var
var es la variable que controla las
veces que se repite el proceso
by Dpto de Programacion y Tecnologia Educativa UNIMET is licensed under a Creative
Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.
Si valor 1 > valor 2, var va
decreciendo de inc en inc
hasta var < valor2
inc es el valor en el cual se
quiere incrementar var
mrodriguez@unimet.edu.ve
6. Supongamos que se quiere realizar una repetición desde
1 hasta n, y se quiere mostrar el valor del contador en una
hoja de Excel “Salida”:
Donde Cont va tomando los valores 1, 2 sucesivamente hasta
n en forma automática.
by Dpto de Programacion y Tecnologia Educativa UNIMET is licensed under a Creative
Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.
mrodriguez@unimet.edu.ve
7. Realizemos la “corrida en frío” para n = 3:
En primer lugar cont toma el valor 1
1
Posición de memoria
cont
y lo escribe en la celda (1,1)
Pantalla : Hoja Excel
1
Option Explicit
Dim cont As Integer
For cont = 1 to n
worksheets(“Salida”).Cells (cont , 1) = cont
Next cont
..........
by Dpto de Programacion y Tecnologia Educativa UNIMET is licensed under a Creative
Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.
mrodriguez@unimet.edu.ve
8. En seguida cont toma el valor 2
1
2
Posición de memoria
cont
Pantalla: Hoja Excel
y lo escribe en la celda (2,1)
by Dpto de Programacion y Tecnologia Educativa UNIMET is licensed under a Creative
Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.
1
2
mrodriguez@unimet.edu.ve
9. Finalmente cont toma el valor 3
1
2
3
Posición de memoria
cont
Pantalla : Hoja Excel
Y lo escribe en la celda (3,1)
terminando el proceso.
by Dpto de Programacion y Tecnologia Educativa UNIMET is licensed under a Creative
Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.
1
2
3
mrodriguez@unimet.edu.ve
10. Otro Ejemplo:
contador se inicializa en 1
Este For se va a repetir
20 veces, es decir,
inclusive se repite
cuando Contador=20.
Al llegar al Next, contador va a
incrementarse de uno en uno
(2,3,4,…)
Cuando contador>20,
termina el for y va a
realizar la siguiente
instrucción después del
Next
¿Cómo codificarías lo mismo
utilizando la instrucción While?
by Dpto de Programacion y Tecnologia Educativa UNIMET is licensed under a Creative
Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.
mrodriguez@unimet.edu.ve
11. Respuesta: Si lo hiciéramos con While:
Esta forma de hacerlo
es más larga y no nos
podemos olvidar de
inicializar y actualizar la
variable para que el
while funcione
correctamente
Sin embargo, es importante recordar
que el For solamente puede sustituir
al while cuando la variable para
evaluar la condición de parada es un
contador
by Dpto de Programacion y Tecnologia Educativa UNIMET is licensed under a Creative
Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.
mrodriguez@unimet.edu.ve
12. Un ejemplo donde el contador decrece:
contador se inicializa en 20
Cuando contador< 0, termina y
va a la siguiente instrucción
después del Next
Indica en que valor
va a decrementar
contador
Al llegar al Next, contador va a
decrementar de dos en dos
(18,16,14,…)
by Dpto de Programacion y Tecnologia Educativa UNIMET is licensed under a Creative
Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.
mrodriguez@unimet.edu.ve
13. La forma de repetición indexada facilita el realizar cálculos
completos después de la repetición, ya que al conocer el
numero de filas de la hoja que contienen datos podemos
hacer los cálculos mas facilmente.
Además también facilita el Manejo de Datos como
Registros de Información, donde los for nos ayudarán a
“movernos” en las filas o las columnas donde se
encuentren los datos.
by Dpto de Programacion y Tecnologia Educativa UNIMET is licensed under a Creative
Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.
mrodriguez@unimet.edu.ve
14. by Dpto de Programacion y Tecnologia Educativa UNIMET is licensed under a Creative
Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported License.
mrodriguez@unimet.edu.ve