Application.DisplayAlerts = True ¿Como puedo condicionar esta accion ?

Ya que cuando abra el recuadro guardar, no guardar, cancelar. Si yo elijo cancelar me devuelva al formulario que este utilizando.

1 Respuesta

Respuesta
1

Puedes poner la macro completa para ver qué es lo que estás haciendo.

Private Sub UserForm_Initialize()
Application.Visible = False
End Sub

Private Sub UserForm_Terminate()
Application.Visible = False
End Sub
Private Sub cmdSG_Click()
Application.Visible = False

Application.DisplayAlerts = True
Application.Quit
End Sub
Private Sub cmdmo_Click()
Application.Visible = Not Application.Visible
End Sub
Private Sub cmdsalir_Click()
End
End Sub

en este comando en especifico, cuando me aparece las opciones guardar, no guardar, cancelar, si yo elijo cancelar quiero que me regrese al formulario

Private Sub cmdSG_Click()
Application.Visible = False

Application.DisplayAlerts = True
Application.Quit
End Sub

Application. Quit no tiene otros parámetros, entonces cuando seleccionas Cancelar, simplemente cierra la aplicación.

Pero podemos controlarla de la siguiente manera:

Private Sub cmdSG_Click()
'Act.Por.Dante Amor
    Application.Visible = False
    res = MsgBox("¿Desea guardar los cambios efectuados en '" & ThisWorkbook.Name & "'?", vbYesNoCancel + vbExclamation, "Microsoft Office Excel")
    Select Case res
        Case vbYes
            Application.DisplayAlerts = False
            For Each w In Application.Workbooks
                w.Save
            Next w
            Application.Quit
        Case vbNo
            Application.DisplayAlerts = False
            Application.Quit
        Case vbCancel
    End Select
End Sub

En lugar de que excel envíe el mensaje, el mismo formulario que envíe el mensaje, si escoges Si, entonces que guarde todos los libros activos y que cierre la aplicación, si escoges No, entonces que no guarde y que cierre la aplicación, y por último, si escoges Cancelar, simplemente que no haga nada y que te regrese a tu formulario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas