in

Curso VBA y Macros en Excel: Controlador de Errores (On Error Goto)

A continuación Vamos a aprender a utilizar los controladores de errores en vba para la creación de macros en Excel en realidad lo que vamos a utilizar son solamente dos controladores y yo lo tengo por acá el primero es el on error go to el segundo también que vamos a ver

Es el on error resume next si estás llegando por primera vez a este vídeo o al Canal te comento rápidamente que nosotros estamos llevando un curso de programación de macros para Excel totalmente gratis y desde cero ahora estamos en el módulo 11 y acá estamos viendo todos los controladores de

Errores bien recuerda que si tú también quieres llevar este curso el link o los links te los dejo en la descripción de este mismo vídeo para que lo puedas llevar desde cero y totalmente gratis de básico a avanzado bien Ahora sí vamos a comenzar de una vez con esto yo por acá

Voy a abrir el Excel y vamos a abrir el editor de visual basic bien clic derecho le damos en ver código nos vamos a módulo uno bien acá lo tenemos Entonces vamos a crear nuestro primer procedimiento yo voy a poner por acá la palabra sa vamos a poner controlador es

Es el nombre de la Macro controlador error y vamos a poner 01 bien Vamos con el primer ejercicio lo que yo voy a hacer acá es definir por ejemplo una variable dim vamos a poner la variable que se llame promedio le voy a eh declarar como un single single Okay el

Single Recuerden que les acepta tanto números enteros como números decimales lo único que vamos a hacer es algo acá muy simple por ejemplo promedio le voy a poner igual y vamos a decirle que promedio va a ser 20 entre cco por ejemplo bien Luego de eso mcg Box

Promedio para ver cuál es el resultado que nos arroja si ejecutamos esta pequeña línea de código ejecutamos miren que nos arroja el número cuatro No hasta ahí no no hay ningún problema pero qué pasa ahora Miren qué pasa ahora si nosotros a este promedio le vamos a dividir ese número 20 entre 0

Matemáticamente Esto no se puede hacer eh según la álgebra según la aritmética este resultado sería un número infinito eh sería un un número indefinido Entonces si ejecutamos Miren esta división que no se puede realizar ejecutamos miren que me arroja un error si damos depurar miren me me arroja la

Línea que dice acá promedio no nuevamente ejecutamos miren que dice acá dice Se ha producido un error 11 en tiempo de ejecución división por cer0 bien pero para yo poder controlar este error yo no quiero que me aparezca esta ventana molestosa que estoy moviendo quiero de repente que me aparezca

Solamente un mensaje y me diga eh que no se puede dividir ningún número entre cero Okay entonces le damos en finalizar y para ello Ahora sí entra a tallar acá los controladores de error yo por ejemplo le voy a poner por acá a ver voy a crear otra Macro vamos a

Poner controlador error a ver error voy a poner 01 bien 01 pero acá le voy a cambiar de nombre a ver le voy a poner 11 sí y vamos a trabajar acá bien Entonces primero vamos a armar la estructura la arquitectura eh de Cómo está formada este controlador de esta

Instrucción ponemos primero el on Miren la línea de código on error go to ahí lo ponemos seguido de error go to ponemos nosotros en realidad cualquier palabra eh que va a ser que va a ser en realidad una etiqueta Okay Por ejemplo yo podría poner errores Okay errores o hasta

Podría poner mi nombre acá no Miguel vela por ejemplo no pero vamos a dejarle acá errores bien esta es la etiqueta que nos va a servir en caso de que encuentre un error se va a dirigir exactamente donde ponemos esta etiqueta pero miren pero acá nosotros vamos a terminar exit

Saap okay miren Acá está el enap No es igual que el exit saap Okay el enap es donde acaba la Macro el exit es para que te vote donde quieras en cualquier línea de código tú pones el exits y ahí hasta ahí llega la Macro y te saca de la Macro

Okay no acaba la Macro sino que te saca de cualquier eh línea donde esté situada esta palabra bien entonces después del exits ponemos acá errores bien y dos puntitos Esta es la estructura del on error go to y acá viene la etiqueta acá ponemos el exit sa y luego ponemos

Nuevamente la etiqueta aquí es la instrucción Miren la instruc de código Okay no le puse t de acá pero bueno la instrucción de código y aquí es la instrucción de código si hay error Okay si hay error Entonces lo primero que va a hacer es es venir acá miren

Viene acá viene acá viene acá ejecuta toda esta línea de código toda esta línea de código En caso de que no encuentre ningún error lo que va a hacer es llegar hasta dónde hasta el exits y aquí es donde te va a sacar de la Macro

Articulo Recomendado
Curso de Macros en Excel: Ejercicios con La propiedad Range.CurrentRegion de VBA

O sea no encuentra ningún error y lo que hace es votarte te saca de la Macro o sea terminó bien el código en caso de que encuentre por ejemplo en esta línea de código un error vamos a poner acá encontrado si encuentro un error acá lo que va a hacer es llevarte directamente

A dónde te lleva directamente a la etiqueta que le pusimos acá arriba no O sea si encontró error acá Te arroja dónde acá a la etiqueta errores y el código se va a empezar a correr desde aquí miren desde aquí se empieza a correr el código si es que encuentra un

Error Entonces si no encuentra error viene acá Y Y si llega hasta el exit up es porque no ha encontrado ningún error en la Macro pero si encontró un error te va a botar a la etiqueta errores O sea si encontró un error acá te bota la

Etiqueta errores y acá vuelve a correr la Macro Okay entonces ya sabemos ahí tenemos la estructura Entonces vamos a poner esta variable le voy a poner acá arriba no hay ningún problema y el código a ejecutar le voy a poner dónde acá miren este o Acá está la línea de

Código que voy a ejecutar bien entonces si encuentro un error mcg Box acá voy a poner eh A ver vamos a poner acá no se puede dividir ningún número entre cero ahí lo tenemos miren si ejecutamos esto directamente me arroja el mensajito no se puede dividir ningún número entre

Cero bien entonces detectó error dónde aquí en caso de que no por ejemplo de que no miren de que no encuentro error ya le estoy dividiendo entre cinco ejecuto no hay ningún problema me bota el cuatro que es este número acá y luego llega dónde al exit sa El exit SAP ya me

Saca de la Macro No eso quiere decir que no encontró ningún error y acá podría poner también por ejemplo mcg Box acá podría poner no se encontró ningún ningún problema no entonces ya tenemos dos mensajes ejecutamos y miren cuatro luego viene al otro mensaje no se encontró ningún problema acepto y me

Bota de la Macro o sea llegó a sel exit pero como no hay error no entra acá no entonces ya tenemos el primer ejercicio bien Vamos a ver otro ejercicio miren eh Como pueden observar este esta línea de código es muy fácil de interpretar No pero va a haber momentos en donde

Nosotros necesitamos averiguar cuál es el problema para que el mensaje eh que pongamos acá sea coherente con el error bien eh otra cosa miren otra cosa Recuerden que debemos escribir bien ya sean los métodos las instrucciones los objetos colecciones etcétera por ejemplo Qué pasa si a este msg Box por ejemplo

Ponemos una s y si nosotros ejecutamos esto miren lo que va a pasar me dice acá no se ha definido el SAP of function no como pueden observar en este tipo de casos el on error go to no te sirve bien Así que hay que escribir bien hay que

Escribir bien en este caso los métodos instrucciones objetos colecciones etcétera bien eh Ahora sí vamos con el segundo ejercicio voy a cerrar esto y por ejemplo miren eh cuando no encuentras por ejemplo un resultado tanto en Excel como en vba te va a arrojar un error Por ejemplo si yo pongo

Igual Buscar V miren Buscar V valor buscado voy a poner a la izquierda punto y coma matriz voy a poner toda esta tablita punto y coma el indicador de columna quiero que me devuelva el número Dos punto y coma y vamos a poner acá falso para que sea la coincidencia

Exacta cierro paréntesis presiono enter y me arrojo un error pero miren si yo pongo cuatro pongo cuatro enter me arroja Miguel vela no Miguel vela Quién es acá el número cuatro este resultado no pero qué pasa si yo por ejemplo pongo un código que no existe miren por

Ejemplo pongo el código 10 presiono enter me arroja error lo mismo pasa con vba cuando queremos por ejemplo buscar eh un valor cuando queremos encontrar un resultado y no encuentra el vba muchas veces Te arroja también err error bien Vamos a ver ese caso miren vamos a ver

Ese caso yo voy a poner acá SAP voy a poner controlador error vamos a poner el ejercicio número dos bien eh Para ello nosotros acá vamos a utilizar miren vamos a utilizar el objeto yo voy a poner por acá el objeto work sheet a ver sheet function bien Está bien escrito

Worket fun sí pongo punto y vamos a llamar a la función miren vamos a llamar a la función eh vlop up no que tengo acá que es la función Buscar V pero lo tengo acá en inglés el objeto worksheet function lo que hace es eh nos permite

Utilizar eh la mayoría de funciones en Excel no en este caso como el Buscar V que lo tengo en inglés bien eh acá tenemos el objeto War function llamamos a la función Buscar V Ahora sí abrimos paréntesis y el argumento eh que vamos a buscar le

Voy a poner acá directamente va a ser el número cuatro pongo una comita y el argumento dos e recuerden dónde lo vamos a buscar yo le voy a buscar por ejemplo en la B3 A ver vamos a poner el objeto Range y le vamos a buscar en la B3 dos

Articulo Recomendado
¿Nadie conoce este truco de Excel?

Puntitos hasta en este caso la g Sí si no me equivoco la g7 Okay la g7 entonces ponemos acá la g7 y después de eso ponemos una coma ponemos la columna que nos queremos que nos devuelva la columna es la columna tres Okay ponemos el número tres una comita y luego de eso

Ponemos el false Okay el fals bien hasta ahí ya tenemos miren hasta ahí ya tenemos el Buscar v y los argumentos el valor buscado dónde lo voy a buscar la columna que quiero que me devuelva y al último la coincidencia exacta que es igual a false miren acá le voy a poner

Mejor el número dos La Columna dos bien Ahora lo que vamos a hacer es poner acá MS Box para que nos arroje el resultado hasta ahí como pueden observar miren solamente utilizamos el Buscar V ahora si pongo el número cuatro cuál nos debería devolver Miguel vela no este

Miguel vela Entonces vamos a ejecutar el código ejecutamos y miren que nos arroja Miguel vela y lo tengo ahí sin ningún problema pero qué pasa ahora si nuevamente le pongo acá el 10 miren estoy poniendo el 10 acá No pero el 10 no existe Entonces si ejecutamos acá

Miren que me arroja este error no o sea es un error molesto Es un error si estoy utilizando Excel me va a llevar a visual basic y me va a mostrar este error no se puede obtener la propiedad W de la base de datos worksheet function entonces acá

También entra detallar pero ya sé el error o sea entiendo cómo funciona este código no el error es que no encontró el resultado y al no encontrar un resultado esta línea de código me está botando un error por qué porque no está en esta tabla entonces ponemos acá la

Instrucción on error go to Luego de eso pongo acá la etiqueta como les decía la etiqueta puede puede ser cualquier palabra yo le estoy poniendo problema si es que no tiene problema exit sa llega hasta acá y si es que hay problema que se vaya a la etiqueta problema dos

Puntitos pongo mcg box entre comillas podría poner acá eh No No se encontró el dato buscado por ejemplo no como puedes observar acá mi mensaje o sea es coherente de acuerdo al resultado que tenemos acá Okay por qué porque yo sé que si no encuentra el código me va a

Arrojar problema no Entonces si ejecuto eso miren que me arroja No se encontró el dato buscado acepto Eh entonces si yo por ejemplo pongo acá un valor que sí hay por ejemplo el cuatro que es Miguel vela ejecuto y me arroja el resultado no O sea no hay ningún problema bien vamos

A poner nuevamente acá el número 10 y vamos y les voy a enseñar también por ejemplo acá un objeto que es el objeto r el objeto r te va a ayudar a identificar eh Por ejemplo el número de código de error te va a ayudar a identificar la descripción del error entonces ponemos

Mcg Box ponemos a acá el r y puntito miren acá eh el primero que vamos a poner es el number Okay acá lo tenemos el number este va a ser el número de error otro mcg Box vamos a poner vamos a poner r objeto r punto y esta vez vamos

A poner la descripción la description Okay entonces Si ejecuto eso Miren el 10 no existe va a venir a la etiqueta problema no ejecutamos me arroja No se encontró el dato buscado acepto y miren este es el número de error acepto va a ser la descripción y me arroja la

Descripción no se puede obtener la propiedad velop de la base datos worship function no entonces ya sé el número y también ya sé la descripción no eh Por ejemplo con el a. number es A ver cuál es el 100 no si no sabes si no identificas este error lo que podrías

Hacer lo que podrías hacer es venir acá Ir a Google y poner acá de repente el código de error para que sepas más o menos por dónde o cuál podría ser el problema en la línea de código no Para eso te sirve el number y la descripción

Pero muchas veces ni siquiera llegas al punto Exacto si no conoces en este caso el número de error bien pero ya sabemos que este objeto r nos puede facilitar en La Búsqueda del error bien Vamos a ver otro ejemplo por acá miren vamos vamos a ver otro ejemplo cotidiano que yo

Siempre veo voy a crear por ejemplo un módulo voy a ir a insertar Perdón un user for miren un user for vamos a ir a user for acá bien Perdón perdón vamos a abrir vamos a abrir más grande y yo por acá en el cuadro de herramientas voy a

Poner este que dice imagen le voy a dar un clic y vamos a poner una imagen cualquiera tal y como estamos observando bien Luego de eso vamos a ir a ver vamos a ir a propiedades a ver dónde está ventana propiedades y cómo se llama este

Articulo Recomendado
🥇 5 complementos de Excel GRATUITOS para aumentar tu productividad en el 2023

Cuadro de imagen se llama imag uno ahí lo tengo imag uno lo voy a copiar miren lo voy a copiar y vamos a venir acá al fondo Okay dos veces clic en el formulario y a la derecha le vamos a dar en activate acá activate o sea cuando el

Formulario nos Abre va a correr el código que nosotros le vamos a poner a continuación miren lo que yo voy a hacer lo único que voy a hacer acá es ponerle poner ponle a esta a esta variable eh eh la dirección de una imagen y lo

Vamos a cargar dónde le vamos a cargar acá en este cuadro de imagen no vamos a dar un clic nuevamente ver propiedades y se llama imagen miren vamos a copiar vamos a ir nuevamente a la hoja al formulario dos veces click y acá le vamos a pegar miren y lo único que vamos

A hacer acá es poner punto le vamos a poner picture miren picture la propiedad picture y le vamos a igualar A quién a loat picture y le vamos a poner la ruta okay Nada más eso es lo único que va a serc este código acá a la imagen uno que

Pusimos que tiene el nombre imagen uno le agregamos la propiedad picture y le igualamos A qué a que cargue la imagen con la ruta Okay acá lo único que falta es la ruta a ver vamos a guardar este trabajo archivo guardar como examinar guardar en equipo yo le voy a guardar

Por ejemplo en esta carpetita casa linda y le voy a poner acá habilitado para macros Okay voy a poner ejercicio errores miren por qué lo guardo acá porque aquí están mis imágenes en fotos bien le doy en guardar Ahora sí voy a acceder acá Casa Linda fotos y por

Ejemplo acá en uno a ver cómo accedemos Acá está miren Acá está en la parte superior voy a copiar eso la ruta y le voy a poner 1.jpg que es la imagen bien y nada más Solamente eso clic derecho ver código vamos a ir a módulo uno a ver Perdón

Perdón user for dos veces click y aquí le voy a poner un Slash y pongo 1 J jpg bien ahí lo tengo miren toda esta ruta contiene a la imagen uno y si yo ejecuto ahora sí este user for ejecutar miren que que me carga la imagen no así de

Sencillo pero qué pasa si ahora yo vengo a Casa Linda fotos y al uno le elimino miren ya no existe el uno no Entonces si vengo acá ejecuto este código miren que me arroja un error okay depurar Y no me está cargando bien esta este por ejemplo

Es también otro caso eh que se da en Bueno a la hora de hacer formularios no como pueden observar si no encuentra la imagen automáticamente me arroja un error miren ejecuto y me arroja error Por qué Porque no encontró la imagen Y por qué no encontró la imagen porque yo

La eliminé no y si no encuentra la imagen esta línea de código Qué hace me arroja un error Entonces yo ya sé yo ya sé y lo tengo muy bien en claro que no está cargando no está cargando la imagen no entonces ahí nuevamente entra a

Tallar quién el on error go to y ponemos acá la etiqueta problema si todo va bien al final lo que hacemos Es poner exit sub si hay un problema miren acá faltó la em si hay un error entonces ponemos acá problema dos puntitos dos puntitos y abajo ponemos

Mcg box entre comillas no se contr la imagen okay miren ya estamos controlando el problema ejecutamos y miren que me aparece acá ya el mensajito que me dice no se encontró la imagen acepto y el formulario sigue ahí pero ya no me arroja ese error molesto no entonces ya

Sabemos ya sabemos Para qué sirve el on error go to para controlar esta este tipo de situaciones donde tenemos errores eh pero son errores que de repente lo podríamos controlar con un mensaje no en este caso no se encontró la imagen bien eh yo me voy a quedar

Hasta acá como pueden observar acá también ojo lo pueden poner msg Box ponemos el objeto Air punto y ponemos acá miren r pun descripción a ver mcg Box a punto ponemos acá number no Y si ejecutamos esto miren a ver a ver mcg Box Perdón mcg box mcg Box y ejecutamos

Y miren que me aparece acá el mensajito no se encontró la imagen acepto archivo miren acá también me dice miren con la descripción muy útil archivo no encontrado acepto y el error es el 53 que lo puedo googlear puedo ir a Google y puedo buscar de qué se trata ese error

Acepto y ya controlamos el error con el on error go to y la etiqueta problema para dirigirnos acá yo me voy a quedar hasta este punto si tienes alguna duda alguna pregunta por favor Comenta este vídeo bien en el siguiente video vamos a ver vamos a ver eh el controlador el on

Error resume next bien eh Coméntame Si de repente algo no te quedó en claro y nos vemos en el siguiente vídeo

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

Importancia del Excel en Ingeniería Industrial

RESPONDE LAS PREGUNTAS. SABRAS TODAS? 📚🧠 | Parte 117  #shorts #youtubeshorts #trivia #culturageneral