Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
mensaje

BeforeClose en VBA

| 0 comments

Evento Workbook BeforeClose

Microsoft Excel permite predefinir algunas acciones populares que lo haría en diferentes objetos como  (hoja de cálculo, libro, botones, etc), estas acciones se denominan Eventos. Por ejemplo:  la activación de una hoja de cálculo es un evento, el cierre de un libro es un acontecimiento, cuando hacemos clic en un botón es un evento. Cada objeto tiene su propia lista de eventos, los libros de Microsoft Excel tiene una lista de eventos como son (cerrar libro o libro abierto), las hoja de cálculo tiene una lista de eventos que son(activar la hoja de trabajo o editar una celda).

Si se realiza un evento, como puede ser, el cierre de un libro, el código deseado puede ser activado. Si se requiere guardar un libro automáticamente cuando se cierra un libro o quizás se quiera un cuadro de mensaje de bienvenida para que aparezca cuando se abre un libro de trabajo. Los Eventos son procedimiento Sub (comienza con Private Sub y termina con End Sub) y se genera de manera automática, con un nombre específico, se puede llamar a un procedimiento Sub o escribir su propio código en el código de evento.

¿Cúando se produce el Evento Workbook BeforeClose?

Workbook_BeforeClose es un evento que se desencadena cuando un libro de Microsoft Excel es cerrado. Por ejemplo, se puede utilizar Workbook_BeforeClose Evento para salvar libro, o inicializar el valor (reponer el valor inicial anulada por el usuario), De forma predeterminada, Microsoft Excel preguntaría si desea guardar el archivo antes del cierre si se han realizado cambios.

mensaje

En ese caso, el procedimiento de evento se dispara antes que este cuadro de mensaje.

Sintaxis de Excel Workbook_BeforeClose Evento

Private Sub Workbook_BeforeClose (Cancel As Boolean)

Cancel .- El valor por defecto de Cancel es False, eso significa que el libro se cerrará de forma normal después Procedimiento del evento se dispara. Si se establece como True se indica que no se desea cerrar el libro y ningún cuadro de mensaje le pedirá guardar el archivo.

Evento Workbook Deactivate

Hay otro evento llamado Workbook_Deactivate, que se activa cuando se cierra un libro o cambiar a otro libro. Tanto Workbook_BeforeClose y Workbook_Deactivate se pueden activar cuando un libro está cerrado, pero si ambos están presentes en un libro, Workbook_BeforeClose se disparará primero.

  • Ejemplo de Excel Workbook_BeforeClose Evento
  1. Presione ALT + 11 para entrar al Editor de Visual Basic.
  2. Haga doble clic en ThisWorkbook -> Seleccionar libro -> Seleccionar BeforeClose

beforclose

Inserte su código entre Private Sub y End Sub. En el siguiente ejemplo, cuando se cierra el libro, un cuadro de mensaje le pedirá confirmar si desea dejar el libro de trabajo o No. Si hace clic en “OK”, el libro va a guardar y cerrar. Si “Cancelar”, el libro no se cerrara.

mensaje2

Código correspondiente al  mensaje:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
salir = MsgBox(“¿Está seguro de que quiere salir?”, vbOKCancel)
If salir = vbOK Then
ThisWorkbook.Save
Else
Cancel = True
End If
End Sub

Deja un comentario

Required fields are marked *.


Excel Avanzado located at , Lima, Perú . Reviewed by usuarios rated: 4.7 / 5