Manejo de errores en Excel VBA - Macros fáciles de Excel

Tabla de contenido

A continuación, veremos dos programas en Excel VBA. Un programa simplemente ignora los errores. El otro programa continúa la ejecución en una línea especificada al encontrar un error.

Situación:

Ambos programas calculan la raíz cuadrada de los números.

Raíz cuadrada 1

Agregue las siguientes líneas de código al botón de comando 'Square Root 1'.

1. Primero, declaramos dos objetos Range. Llamamos a los objetos Range rng y cell.

Atenuar como rango, celda como rango

2. Inicializamos el objeto Range rng con el rango seleccionado.

Establecer rng = Selección

3. Queremos calcular la raíz cuadrada de cada celda en un rango seleccionado al azar (este rango puede ser de cualquier tamaño). En Excel VBA, puede usar el ciclo For Each Next para esto. Agregue las siguientes líneas de código:

Para cada celda en rng
Siguiente celda

Nota: rng y cell se eligen al azar aquí, puede usar cualquier nombre. Recuerde hacer referencia a estos nombres en el resto de su código.

4. Agregue la siguiente línea de código al bucle.

En caso de error, reanudar siguiente

5. A continuación, calculamos la raíz cuadrada de un valor. En Excel VBA, podemos usar la función Sqr para esto. Agregue la siguiente línea de código al bucle.

cell.Value = Sqr (cell.Value)

6. Salga del Editor de Visual Basic y pruebe el programa.

Resultado:

Conclusión: Excel VBA ha ignorado las celdas que contienen valores no válidos, como números negativos y texto. Sin usar la instrucción 'En caso de error, reanudar a continuación', obtendría dos errores. Tenga cuidado de usar solo la declaración 'En caso de error, reanudar siguiente' cuando esté seguro de que ignorar los errores está bien.

Raíz cuadrada 2

Agregue las siguientes líneas de código al botón de comando 'Square Root 2'.

1. El mismo programa que Square Root 1, pero reemplace 'En caso de error, reanudar siguiente' con:

En caso de error, vaya a InvalidValue:

Nota: InvalidValue se elige al azar aquí, puede usar cualquier nombre. Recuerde hacer referencia a este nombre en el resto de su código.

2. Fuera del bucle For Each Next, primero agregue la siguiente línea de código:

Salir de Sub

Sin esta línea, el resto del código (código de error) se ejecutará, ¡incluso si no hay ningún error!

3. Excel VBA continúa la ejecución en la línea que comienza con 'InvalidValue:' al encontrar un error (no olvide los dos puntos). Agregue la siguiente línea de código:

Valor no válido:

4. Mantenemos nuestro código de error simple por ahora. Mostramos un MsgBox con algo de texto y la dirección de la celda donde ocurrió el error.

MsgBox "no se puede calcular la raíz cuadrada en la celda" y la celda.

5. Agregue la siguiente línea para indicarle a Excel VBA que reanude la ejecución después de ejecutar el código de error.

Reanudar Siguiente

6. Salga del Editor de Visual Basic y pruebe el programa.

Resultado:

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave