300 Ejemplos

Manejo de errores

Error Handling

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 específica al encontrar un error.

Situación:



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



Manejo de errores en Excel VBA

Raíz cuadrada 1

Agregue las siguientes líneas de código al botón de comando 'Raíz cuadrada 1'.



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

NingunorngComoRango, celdaComoAbarcar

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

Colocarrng = 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 bucle For Each Next para esto. Agregue las siguientes líneas de código:



Para CadaceldaEnrng

Próximocelda

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:

En caso de error, reanudar el siguiente 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, reanude el siguiente' por:

En caso de error Ir aValor no válido:

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:

Salida Sub

Sin esta línea, el resto del código (código de error) se ejecutará, ¡incluso si no hay 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 Próximo

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

Resultado:

cómo crear una función if en Excel

En caso de error Ir a resultado

En caso de error Ir a resultado

En caso de error Ir a resultado

3/6 Completado! Obtenga más información sobre los errores de macro>
Ir al capítulo siguiente: Manipulación de cuerdas



^