Excel 2016 VBA esencial

El bucle For Each... Next en VBA

¡Prueba gratis durante 10 días

nuestros 1271 cursos !

Prueba gratis Mostrar modalidades de suscripción
El bucle For Each...Next realiza una acción a un conjunto de objetos que, por ejemplo, pueden ser hojas de un libro. Aprovechamos también en este vídeo para introducir el concepto de Colecciones de objetos.

Transcripción

El bucle "ForEachNext" sirve para recorrer una colección de objetos e ir realizando una acción durante todo ese recorrido. Vamos a fijarnos en esta primera macro para saber qué es lo que hace. En principio se declara una variable que es "Wks" como una hoja de cálculo. Después mediante esta línea hacemos que A1 quede seleccionada. Y después comienza el bucle. La primera instrucción del bucle dice que, para cada variable "Wks" en la colección de hojas de cálculo, en otras palabras, para cada hoja que hay en el conjunto de hojas de cálculo de un libro, que en la celda que en ese momento tengamos activa, es decir en A1, se escriba el nombre de la primera hoja. Y después que nos desplacemos, o seleccionemos, la celda que está una fila más abajo y 0 columnas más a la derecha. Y vuelta a empezar con el bucle. Ahora la celda activa será, hay que recordar la de abajo respecto de la anterior que ya tiene un valor y a esta también se le introduce el nombre de la siguiente hoja puesto que ya estamos en la segunda vuelta de este bucle, y vuelta a empezar seleccionando la celda de abajo y otra vez de nuevo a la siguiente vuelta de bucle. Vamos a entenderlo también mejor si practicamos en Excel. Además vamos a poner las pantallas de formas paralela para poder, mediante F8, ejecutar poco a poco la macro. Presionamos F8 y vamos entrando en la macro para ver que va haciendo. La primera instrucción de la primera vuelta del bucle nos dice que la celda activa tiene que tomar el nombre de la primera hoja de la colección. Vemos como en A1 se ha escrito "Hoja1". Ahora presionamos de nuevo F8 y lo que hemos hecho ha sido seleccionar la celda de abajo. Aquí tenemos una fila más abajo y cero columnas a la derecha, así que ya tenemos A2 seleccionada. Seguimos con el bucle de forma que ahora la celda activa toma el nombre de la segunda hoja porque estamos ya en la segunda vuelta del bucle y ahí tenemos resultado. Y así sucesivamente hasta las cinco hojas que hay. Y ahora seguro que estamos en mejores condiciones para entender la segunda macro que también tiene un bucle "ForEachNext" donde nos dice que, para cada variable C en el conjunto de celdas desde la A1 hasta la A10, es decir, para cada celda en el conjunto de estas celdas, si C es distinto a nada, es decir, si tiene algún valor, entonces nos desplazamos hacia abajo. Y si no que C, es decir que la celda, tome el valor "Nuevo Dato". Ahora acaba esta estructura condicional y "Next C", es decir que vuelve con la siguiente vuelta del bucle. Así pues, en definitiva, el resultado de esta macro es que tiene que rellenar las celdas donde no hay ningún dato con el valor nuevo dato. Vamos a ejecutarla, nos situamos aquí, y en este caso lo vamos a hacer de una vez con F5. Aquí tenemos lo esperado.

Excel 2016 VBA esencial

Aprende desde cero el lenguaje VBA con el que podrás automatizar, acelerar muchas tareas cotidianas en Excel y escribir rutinas de código aplicables a tu trabajo cotidiano.

2:26 horas (42 Videos)
Actualmente no hay comentarios.
 

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.