in

Curso de Macros: Ejercicios con el bucle Do While – Loop VBA en Excel

En este víde vamos a ver unos ejercicios con el bucle do While the visual basic for application para las personas que llegan por primera vez a mi canal O a este vídeo nosotros estamos llevando este curso de programación de macros en Excel desde cero y totalmente gratis

Ahora estamos en el módulo número 8o donde estamos trabajando con los bucles No ahora vamos a ver el bucle dowi en el capítulo anterior vimos el bucle for next si tú quieres llevar este curso eh los links lo vas a encontrar en la descripción de este mismo video bien acá

Vas a tener todos los temas y con un clic te va a llevar a un video bien Ahora sí Comencemos con los ejercicios Pero antes me estaba olvidando que acá tenemos eh esta hoja Excel para que ustedes practiquen mirando este mismo video si gustan pueden descargarlo yo

Les recomiendo que se unan eh al Canal de WhatsApp Si es que así lo desean para que encuentren los links de los archivos directos acá para que lo puedan descargar bien De igual manera si no utilizas WhatsApp también en Telegram tenemos un canal donde subimos todos los

Videos y también los archivos para que ustedes puedan descargarlos directamente si están eh en cualquiera de estos dos grupos Recuerden que acá también pueden realizar sus preguntas directas y yo les voy a estar leyendo bien Ahora sí Comencemos con esto y vamos ahora sí con

El libro o con la hoja Excel bien acá me dice ese primero el primer ejercicio recorrer el rango con el bucle du Guay imprimir los valores bien vamos a recorrer todas estas celdas Pero ahora con el bucle dowi Así que vamos a entrar al editor clic derecho ver código Acá

Está mi editor de visual basic vamos a ir a insertar y vamos a ir a módulo bien A qué módulo vamos a crear la primera Macro Miren la primera Macro vamos a poner eh Para crear la Macro SAP voy a poner a ver vamos a recorrer primero

Vamos a recordar primero el bucle for bien para que vean la diferencia Para que vean la diferencia entre el bucle for y el bucle duy Miren el bucle for la estructura era ponían la palabra for luego ponían la variable con la la variable inicial acá I = a 1 ponía la

Palabra tu que se vaya hasta por ejemplo el 10 no Y cómo cerraban con el next I miren ahí está la estructura del for ahora vamos a abrir la la estructura del dowi y vamos vamos a comparar En qué se diferencia ponemos la estructura básica es poner primero el do luego ponemos el

Wi y luego seguido de eso ponemos una condición que ahora lo vamos a ver luego al final ponemos el Loop no Y esta es la estructura bien aquí nosotros en el dowi le damos una variable y es la variable inicial bien Por ejemplo fila esta Va a

Ser mi variable inicial en el for tenemos acá arriba también la variable inicial podría ser también fila o la i no que es igual acá vamos a trabajar mejor con i para que sean iguales I = a 1 no pero el for miren le damos la variable final hasta dónde va a recorrer

No en cambio en el dowi no le das una variable final si no le das una condición el duai va va a seguir dando vueltas mientras la condición se siga cumpliendo una vez que la condición no se cumpla lo que que va a hacer es sacarnos sacarnos del bucle no entonces

La diferencia es que el for tiene una variable inicial y tiene una variable final que fácilmente también la podemos descubrir con un código como vimos eh en el video anterior no en cambio el duwi recuerden que no tiene una variable final O sea no le indicamos hasta Qué

Número se va a ir si no le con una condición mientras la condición se cumpla entonces ahí va a seguir dando vueltas deja de de cumplirse y ahí recién se termina el do While bien eh Ahora sí veamos veamos el ejercicio número uno ya tenemos el I que es la

Variable inicial o le vamos a poner fila mejor da lo mismo el la variable que le pongas acá pero yo le voy a poner fila para que lo vean mejor bien fila igual a 1 ya la fila es la variable inicial por ejemplo Dónde inicia inicia en la a2

Entonces ponemos acá la fila dos no fila dos bien la condición miren acá la condición va a ser a ver eh una condición clásica es por ejemplo que recorra todo esto pero que siga recorriendo mientras tenga texto Si deja de tener texto o sea si encuentra vacío

Ahí es donde se queda Entonces vamos a hacer lo siguiente aquí podemos utilizar el objeto Range o podríamos utilizar el objeto sales que es lo mismo No pero vamos a trabajar con el objeto cs vamos a abrir acá y miren la condición yo le voy a poner primer argumento es la fila

Que ya lo tengo arriba y segundo argumento es la columna que es la a fila dos columna a acá comienza no en la primera vuelta y acá recién viene la condición mientras sea diferente a vacío o sea lo que le estamos diciendo acá diferente a vacío es eh todo lo

Articulo Recomendado
Aprende MACROS en 10 minutos con ejemplos de la vida Real 🥇

Contrario Al igual a vacío no O sea que tenga texto mientras tenga texto lo que va a hacer es seguir dando vueltas una vez que no encuentre texto o sea que sea igual a vacío entonces ahí el bucle va salir no entonces lo que va a hacer acá

Fila Cuál es el valor de fila al dos el a2 te va a preguntar si está si es diferente a vacío o sea tiene texto Entonces si tiene texto entra acá entonces quiere decir que sí tiene texto no Entonces vamos a imprimir con un mcg

Box a la celda nuevamente fila y el a imprimimos eh la celda a2 bien una vez una vez que eso se cumplió Entonces a fila le vamos a sumar fila + 1 Eso quiere decir que si ahora fila viene acá vale 2 a2 es diferente tiene texto sí

Tiene texto entonces entra acá y lo que va a serer es imprimir de la dos y luego de eso fila ahora va a valer 2 + 1 va a ser 3 entonces la siguiente celda que vamos a tener es la tres Miren la tres a

La A3 no Y nuevamente va a venir va preguntar si tiene texto entonces entra acá y ahora fila va a valer 3 + 1 que es 4 no Y así va a ir dando vueltas Pero va a llegar un momento que va a llegar

Miren que va a llegar acá a la 11 y en la 11 está vacío y ahí es donde el bucle Ya deja de funcionar si nosotros ejecutamos esto miren le vamos a dar en ejecutar tenemos el 100 miren 100 200 hasta el 900 no y miren que en el 900

Ahí llega 900 y salimos okay se acabó Entonces ya sabemos cómo recorrer el bucle du Guay mientras la condición se cumpla no vamos a ver el ejercicio número dos vamos a poner por acá ejercicio 02 bien Vamos a ver el ejercicio 02 lo mismo do While miren y

Ponemos acá la condición y al final cerramos con el lo bien ahí lo tenemos y lo mismo no se olviden acá siempre le vamos a dar la fila bien la fila va a ser igual a dos bien Por qué Porque estamos en la fila dos estamos trabajando con ese rang

Realizar a ver acá tenemos otro Miren esta es la dos Perdón realizar una suma de todo el rango con el bucle dowi bien la suma le podemos poner en cualquier celda a ver lo vamos a poner en esta celda bien en la celda a13 entonces cómo realizamos la suma lo mismo hacemos acá

Venimos cs tenemos que recorrer la fila en la columna a y lo mismo ponemos acá mientras sea eh texto mientras tenga texto o sea sea diferente a vacío bien bien entonces lo que vamos a venir acá es poner nuevamente al final la fila igual a fila más 1 no pero acá vamos a

Tener que poner otra variable la variable suma Okay vamos a poner la variable sumar igual a cer bien entonces sumar va a ser igual a sumar más acá me estoy confundiendo acá cs miren tengo un error a sumar más a ver más más en este

Caso eh el valor de todo esto no vamos a poner sales fila nuevamente igual a a bien y Entonces miren primero vale cer0 acá vamos a tener el primer valor y en la segunda vuelta sumar ya va a cambiar no va a tomar el valor de la primera

Celda que es a2 bien Entonces al último una vez que salga del bucle Aquí recién nosotros vamos a decirle que en la celda Miren la celda ver es la a13 no la 13 coma a ahí lo tenemos tenemos va a ser igual a sumar bien Ahora sí Miren la a13

Va a ser igual a sumar si ejecutamos nosotros esto miren que me aparece 4500 si pongo acá igual a ver la función suma seleccionamos todo esto cierro paréntesis presiono enter miren que me arroja el mismo resultado bien acá Les comento algunos casos que es muy posible

Que se puedan topar miren da lo mismo acá lo voy a poner ya acá entre entre comentarios da lo mismo mismo si no ponemos nada Okay a qué me refiero con eso en la condición miren si ustedes no ponen esto miren si borran toda toda la condicional acá que sea diferente a

Vacío si borran el Excel perdón el visual basic lo va a tomar eh Como si ya estuviera esto acá Okay si no ponen nada pueden toparse también con eso con este caso y se van a preguntar por qué no ha puesto una condicional acá noo pero internamente ya lo está tomando como si

Tuviera esto miren lo vamos a borrar yo voy a borrar esto 4500 voy a ejecutar y fíjense que me vuelve a aparecer okay Ahí está miren de igual manera si yo borro esto acá miren borro esto acá en la en el primer ejercicio ya lo borré ejecuto miren ejecuto no hay ningún

Problema el visual basic lo toma como si internamente estuviera esta condición bien como si internamente estuviera esta condición eh otra otra eh otro caso que se pueden topar es que se encuentren con el empty Okay el empty es igual en español es igual a vacío no es lo mismo

Si ustedes ponen diferente a empty o sea diferente a qué a vacío o sea se pueden topar con cualquiera de estos casos y el resultado va a ser el mismo miren con empty borro todo esto ejecuto y me tiene que ejecutar perfectamente 4500 bien entonces da lo mismo si pones empty da

Articulo Recomendado
Como hacer una base de datos en Excel 🥇 (Bien Explicado)

Lo mismo si pones entre comillas y da lo mismo si borras todo esto bien entonces ya sabemos algunos casos con los que se puedan topar bien Vamos acá con el ejercicio a ver ejercicio vamos a poner SAP Perdón ejercicio 03 No y vamos a ver

Qué nos dice a ver nos dice pintar las celdas menores a 100 de otro color bien A ver vamos a cambiar algunos valores vamos a poner 10 vamos a poner por acá 50 70 y 80 bien Estos son estas son las celdas menores a 100 que se deberían de

Pintar entonces venimos acá y no se olviden lo primero la fila comienza en La número dos Luego de eso ponemos la estructura dowi vamos a poner condicional y acá ponemos el Loop no la condición acá va a ser la misma de siempre no mientras se encuentre texto que siga recorriendo entonces llevamos

Al objeto Search ponemos la fila y la columna ya sabemos que es la a y mientras esto sea diferente a vacío entonces va a segir seguir dando vuelta no se olviden no se olviden acá que si no ponen nada es exactamente lo mismo A ver no vamos a poner nada okay Para que

Vean cómo funciona de igual manera bien una vez una vez que tenemos Esto entonces acá preguntarías bien Sí a ver vamos a poner Sí el el condicional miren dentro del duai Sí vamos a poner acá sales vamos a poner fila coma a a ver a

Ver columna a eh es menor a 100 entonces va entonces va a entrar acá no y acá ponemos el end If y luego de eso podemos utilizar el objeto Range o el objeto cells también de igual manera no para pintar las celdas pero el sales Recuerda

Que miren si pones acá por ejemplo fila pones acá la a punto acá miren acá no te Abre las propiedades es por eso que no tanto me gusta utilizar el sales en algunos casos Pero en cambio Range sí te Abre las propiedades miren Range vamos a

Poner acá entre comillas la a y acá le tenemos que concatenar con la fila no ponemos el punto llamamos a interior ponemos el punto y llamamos a color índex le vamos a igualar a cualquier número Recuerden que esta es la propiedad eh Para poder acceder a otras propiedades por ejemplo al color Index

Que dándole un numerito acá va a cambiar de color Okay no se olviden no se olviden por nada del mundo de poner al final fila Perdón perdón no no al final me estoy confundiendo no es al final es acá miren acá dentro del bucle While

Poner fila igual a fila + 1 si ustedes no ponen esta esta pequeña línea de código O sea que le sume más un se va a crear un bucle infinito es por eso que no tanto me gusta trabajar con el Wi porque a veces te olvidas de poner esta

Pequeña línea de código O sea que te vaya sumando uno a cada vuelta entonces se crea un bucle infinito porque fila siempre va a ser dos siempre va a ser dos y va a dar vueltas y vueltas y y vueltas y va a llegar un momento en que

Puede colgar el Excel normalmente lo cuelga o sea te cierra el Excel no quiere abrir Okay Porque el bucle es infinito Entonces si no pones esto te va a traer problemas Pon siempre dentro del While que vaya sumando a la fila uno bien Ahora sí miren ya tenemos acá Range

A fila creo que ahí sí funciona perfectamente ejecutamos A ver no pasa nada Sí Sí perdón Creo que ese dos es el color blanco A ver vamos a poner tres ejecutamos sí miren okay el dos era el color blanco Perdón vamos a poner por ejemplo 25 ejecutamos y ya cambia de

Color ponemos 24 miren Cómo cambia de color bien Ahora sí ya está este ejercicio ahora vamos con el último vamos a poner acá subejercicio 04 bien Vamos a ver qué es lo que nos dice cambiar el nombre a todas las hojas dice poner como nombre el valor de la

Celda a1 de cada hoja la celda a1 está acá por ejemplo enero tiene que ir dónde de acá en hoja uno no vamos a ir hoja dos miren febrero hoja dos o marzo hoja tres y cambiamos a todos los nombres lo primero que tenemos que hacer es recorrer todas estas hojas Okay saber

Cuál es el nombre de cada una de estas hojas y también saber Cuántas hojas tenemos bien para ello vamos a a conocer algunas propiedades Por ejemplo yo por acá voy a poner al objeto shits miren acá lo tenemos y entre paréntesis voy a poner por ejemplo el número uno punto

Name Okay eso qué quiere decir lo vamos a imprimir de esta manera vamos a saber cuál es el nombre ojo de la hoja uno okay de la hoja uno la hoja uno es la que estamos observando acá miren si ejecutamos esto me va a rojar hoja uno

Pero qué pasa si nosotros le cambiamos el nombre miren le vamos a poner acá bd presionamos enter ahora se llama bd ahora si ejecutamos esto miren ahora me muestra el bd pero como puedes observar yo yo puse uno acá y no puse el bd miren a la mano izquierda acá a la mano

Articulo Recomendado
Crea este INCREIBLE DASHBOARD en POWER BI desde cero (Incluye Descarga)🥇

Izquierda tenemos hoja uno o sea el nombre interno se llama hoja uno y entre paréntesis tenemos lo que estamos observando bd podemos referirnos con el uno o también podemos referirnos con el bd no hay ningún problema Okay eh De esta manera podemos recorrer con este numerito miren todas las hojas que

Tenemos acá pero qué pasa Qué pasa miren si nosotros abrimos por acá miren abrimos por acá eh la hoja seis quiero que vean quiero que vean acá internamente que la hoja seis se llama hoja siete ahora okay Entonces si nosotros ponemos acá el número siete

Miren lo que va a pasar ejecutamos y me va a dar error Por qué me da error porque internamente está el siete pero si contamos una 2 3 4 5 es la hoja número cinco Okay si ejecutamos esto acá me va a aparecer hoja seis entonces hay

Que ha que tener mucho cuidado con eso porque al inicio es un poco confuso no Qué pasa miren si nosotros acá le ponemos bd miren vamos a hacer eso okay bd ejecutamos Y también me aparece bd bien entonces podemos referirnos por el nombre o también por el número y ahora

Voy a poner el número uno Esta es la primera propiedad ahora si nosotros venimos acá sheets nuevamente miren sheets count Okay qué es lo que me va a devolver eh esta línea de código vamos a poner msg box me va a devolver el total de números de hojas miren es el número

Cinco y Cuántas hojas tenemos tenemos acá una dos 3 4 5 entonces con esto ya puedo hacer una condicional para el Wi entonces venimos acá pongo primero mi fila va a comenzar en el número uno okay en el número uno recuerden porque ahora la primera hoja se llama uno bien eh

Ahora sí el do While ponemos acá la condicional y al final el Loop bien Ahora sí la condicional va a ser la siguiente pero acá me falta definir una variable más bien acá yo voy a poner hoja Okay hoja igual a uno bien para no confundirnos para no confundirnos hoja

Igual a uno bien Aquí también podría podría poner shits a ver sheets eh No no no vamos a dejarlo ahí mejor Okay no vamos a poner ninguna variable al sheets eh vamos a poner hoja uno bien y acá la condicional sería hoja mientras sea menor o igual a quién a shit punto count

Lo que le estamos diciendo es que hoja eh si es menor o igual a sheet a sheit c Entonces el bucle siga girando no no se olviden al final hoja va a ser igual a hoja + 1 no hasta que deje hasta el número cinco Okay acá es el cinco no

Hasta que hoja sea cinco Entonces no va a dejar eh de dar vueltas a este do While bien ahí lo tenemos Ahora hay que cambiar de nombre Cómo cambiamos de nombre con el shit acá ponemos hoja miren Ok primero es el uno ponemos hoja ponemos punto name y acá vamos a igualar

A quién vamos a igualar a shit miren Pero esta vez no esta vez le vamos a poner hoja nuevamente y punto acá punto vamos a poner punto a ver Perdón perdón perdón me perdí vamos a poner punto y vamos a poner Range le vamos a igualar A

Quién a la a1 bien la a1 Recuerden que está acá es la celda a1 hoja 2 a1 hoja 3 a un bien Ahí están los nombres no Y si nosotros venimos acá y por fin ejecutamos este código ya nos debería de funcionar bien ejecutamos Y a ver

Aceptamos Y tenemos un error Okay este error como pueden observar acá enero febrero marzo a ver jueves miren acá El Seis okay Porque no tiene texto me está arrojando error entonces acá vamos a poner marzo abril abril y acá vamos a poner abril mayo no Ahora sí miren ahora

Sí ya tiene texto Entonces ejecutamos esto y ya no me debería dar ningún error Okay miren ya está mayo abril Y si cambiamos de igual manera ponemos lunes vamos a poner por acá martes vamos a poner por acá miércoles a ver miércoles vamos a poner por acá jueves y viernes

Al final vamos a poner viernes y esto ya me debería estar funcionando perfectamente no venimos acá ejecutamos y aceptamos y miren que ya me acaba de cambiar todo nuevamente bien como pueden observar bien Este es el duwi nosotros tenemos que ponerle una trampa una condicional para qué Para que se eh Para

Que se pueda ejecutar el duai hasta que deje de cumplirse esta condicional en cambio el for le damos una variable inicial y una variable eh final no eh si me preguntan cuál prefiero en realidad yo siempre he trabajado con el for eh conozco más se podría decir más trucos

Más eh más técnicas para lograr muchas cosas y es por eso que casi siempre utilizo el for yo me voy a quedar hasta acá no se olviden el siguiente video va a ser el uso del bucle antil bien si tienes alguna duda alguna pregunta por favor Coméntame y nos vemos en el próximo

Video

What do you think?

Written by d2jma

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

GIPHY App Key not set. Please check settings

Invitación UDG 2024 🎓🗓️#universidaddeguadalajara #udg #udg2024 invitación

Examen de ingreso a álgebra, pregunta 1 (parte 5) #universidad #educaciónmatemática #matemáticas #problemas