¿Cómo realizo un control de errores correctamente?

Tengo el siguiente código a modo de ejemplo:

Sub prueba()

Dim variable1 As Integer
Dim variable2 As Integer
Dim resultado As Integer

variable1 = 0
variable2 = 3

On Error GoTo Controlerrores
resultado = variable2 / variable1

MsgBox resultado

Controlerrores:
MsgBox "Error division con cero"

End Sub

El problema con lo anterior, es que si cambio el valor de la variable1 de 0 a 1, como no da error, el mensaje que me aparece es el resultado de la división, sin embargo, después aparece el mensaje que había puesto para el control de errores. Es decir, si al división me da o no un error, el mensaje de control de errores se mostrará de todas maneras.

¿Cómo lo podría hacer para que en caso de que no exista error en la división, sólo me muestre el MsgBox resultado?

2 Respuestas

Respuesta
1
Sub prueba()
On Error GoTo ErrorHandler
'tu codigo
exit sub
ErrorHandler:
MsgBox "tu msj"
end sub

Hola esa es la manera mas acertada y correcta Saludos

Respuesta
1

Te falta poner una salida del procedimiento antes de la etiqueta del control de errores:

Sub prueba()

Dim variable1 As Integer
Dim variable2 As Integer
Dim resultado As Integer

variable1 = 0
variable2 = 3

On Error GoTo Controlerrores
resultado = variable2 / variable1

MsgBox resultado

Exit Sub

Controlerrores:
MsgBox "Error division con cero"

End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas