He vuelto!!! y con muchos mas trucos y tips que he aprendido en estos últimos meses. Entre ellos me preguntaron como evitar cerrar un libro de Excel desde un macros, y aquí tengo la respuesta.
Paso 1: Primero entro al Visual Basic for Application (Con las teclas ALT + F11).
Paso 2: Inserto un módulo (Menú Insertar // Módulo) y copio el siguiente código:
Public Permiso As Boolean
Sub Cierre()
Call DamePermiso
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
Public Sub DamePermiso()
Permiso = True
End Sub
Paso 3: En el objeto ThisWorkbook copio el siguiente código:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Permiso <> True Then
MsgBox "No tiene permiso para cerrar"
Cancel = True
End If
End Sub
Paso 4. Cierro el Visual Basic.
Paso 5. En una hoja de Excel agrego un objeto o una forma y le asigno la Macro Cierre
Ahora cada vez que cierren el archivo desde la esquina superior derecha, o desde el menú Archivo // Cerrar; les saldrá el siguiente mensaje:
Solo si hacen clic en el botón que tienen asignado la macros Cierre , el archivo libro se cerrará y guardará automáticamente..
Espero que les sirva.
Ing. Enrique Neciosup Morales
Hola, cómo estás?
ResponderBorrarHe utilizado este código y funciona de manera estupenda, el único inconveniente es que me cierra todos los libros que tenga abiertos en el momento, podrías indicarme la manera de evitar eso, para que únicamente cierre el libro activo?
Gracias