Macro cerrar libro mediante formulario
Tengo una instrucción en un libro la cual hace que se ejecute un formulario al abrirlo y pide una contraseña y si esta está errada le pregunta si desea cerrar el libro; si el usuario digita la contraseña correctamente el libro se abre normalmente, pero si la contraseña es errada, al preguntar si desea salir, no se cierra el libro, y esto se repite indefinidamente, de manera que hay que forzar el cierre del libro. La instrucción es la siguiente:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error GoTo FINAL
'ThisWorkbook.Save
bienvenida
Application.DisplayAlerts = False
Sheets("INICIO").Select
'GUARDA Y GUARDA COPIA
If ThisWorkbook.Saved = False Then
ThisWorkbook.Save
End If
'PREGUNTAR SI DESEA CERRAR LIBRO
Dim respuesta
'antes de cerrar el libro se muestra un mensaje de alerta
respuesta = MsgBox("¿Desea cerrar el Programa? ", vbYesNo, "CONTRASEÑA ERRADA")
'si la respuesta es no se cancela el cierre
'llama algunas instrucciones
If respuesta = vbNo Then
FINAL:
Dim MiArchivo As String
MiArchivo = Sheets("INICIO").Range("A55")
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
"C:\ARCHIVOS\" & MiArchivo, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=True
Application.DisplayAlerts = True
Cancel = True
End If
End Sub
Realmente no sé cual es la instrucción que está mal, lo que quiero es que cuando se pregunte si desea cerrar el programa, si la respuesta es Sí, entonces que se cierre totalmente el libro.