Excel - ON ERROR RESUME NEXT

 
Vista:

ON ERROR RESUME NEXT

Publicado por PITU (40 intervenciones) el 25/02/2010 15:05:13
hola a todos tengo una duda respecto del funcionamiento de on error resume next

grabe una macro en el libro 1 que simplemente cierra el libro 2 y nada mas. hasta aqui, nada nuevo.

lo que ocurria es que cuando el libro 2 esta cerrado y alguien presiona el boton "cerrar libro 2" se genera el tipico error 9 en tiempo de ejecucion. para evitar esto utilice el codigo on error, para que cuando se presione el boton, no pase nada si el libro 2 ya esta cerrado.

hasta aqui creia que estaba todo bien, pero escribi un mensaje que dice: "Libro 2 ya se ha cerrado" (en caso de que se presione el boton estando cerrado).

PROBLEMA: EL MENSAJE NO APARECE.

este es el cogido que escribi. me ayudan a corregirlo por favor???

Private Sub CommandButton1_Click()

Dim mensaje As String
mensaje = "Libro 2 ya se ha cerrado"

On Error Resume Next

Windows("Libro 2.xls").Activate
If Windows("Libro 2.xls").Close Then
MgsBox = mensaje
Else
Windows("Libro 2.xls").Close
ActiveWindow.Close
Range("E1").Select
End If

End Sub

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

RE:ON ERROR RESUME NEXT

Publicado por JuanC (1237 intervenciones) el 25/02/2010 15:58:09
no muestra el mensaje porque la línea
If Windows("Libro 2.xls").Close Then
no es válida, es decir, no estás preguntando si está cerrado sino que lo
estás cerrando.
además 'MgsBox = mensaje' no es correcto
deber ser 'MsgBox mensaje'

podrías cambiar On Error Resume Next por On Error Goto errHandler
y mostrar el mensaje dentro del código que maneja el error...

ej:

Sub my_proc()
On Error Goto errHandler

... código

Exit Sub

errHandler:
MsgBox mensaje
Err.Clear
Resume Next (o lo que sea)

End Sub

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ON ERROR RESUME NEXT

Publicado por PITU (40 intervenciones) el 26/02/2010 13:23:03
como siempre JuanC tienes razon, gracias por tu siempre oportuna respuesta
saludos desde Stgo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar