Contenido
- 1 Usar el evento Activate para una hoja de trabajo
- 2 Usar el evento Deactivate para una hoja de trabajo
- 3 Usar el evento Activate para un libro de trabajo
- 4 Usar el evento Deactivate para un libro de trabajo
- 5 Conoce nuestra tienda
- 6 Mejora tu nivel y logra tus objetivo
- 7 Ayúdanos a hacer crecer el proyecto
- 8 ¡Únete a nuestro Grupo de Facebook!
En VBA (Visual Basic for Applications), los eventos Activate y Deactivate son comúnmente utilizados en el contexto de hojas de Excel (Worksheet) o libros de Excel (Workbook). Estos eventos se disparan automáticamente cuando una hoja o un libro se activa o desactiva, respectivamente. Activar una hoja significa que se ha seleccionado y es la hoja activa en el momento, mientras que desactivar se refiere a cuando otra hoja es seleccionada y la anterior deja de ser la activa.
Aquí te explico cómo se pueden utilizar estos eventos:
Usar el evento Activate para una hoja de trabajo
Si quieres ejecutar un código cada vez que una hoja específica es activada, haces lo siguiente:
- Abre el Editor de VBA presionando ALT + F11.
- En el panel de Project VBAProject, encuentra el nombre de la hoja donde quieras establecer el evento.
- Haz doble clic en el nombre de la hoja para abrir el editor de código para esa hoja.
- En la ventana de código, selecciona «Worksheet» desde el primer cuadro desplegable en la parte superior izquierda.
- Elige «Activate» desde el segundo cuadro desplegable y escriba el código que desees ejecutar en el evento:
Private Sub Worksheet_Activate()
MsgBox "La hoja ha sido activada"
' Coloca aquí el código que quiera que se ejecute
End Sub
Usar el evento Deactivate para una hoja de trabajo
Para ejecutar un código cuando una hoja se desactiva:
- Sigue los pasos 1 y 2 del ejemplo anterior.
- En la ventana de código, selecciona «Worksheet» desde el primer cuadro desplegable.
- Elige «Deactivate» desde el segundo cuadro desplegable y escribe el código correspondiente:
Private Sub Worksheet_Deactivate()
MsgBox "La hoja ha sido desactivada"
' Coloca aquí el código que quiera que se ejecute
End Sub
Usar el evento Activate para un libro de trabajo
Si necesitas ejecutar un código cuando un libro específico se activa:
- Abre el editor de código de VBA y encuentra «ThisWorkbook» en el panel Project VBAProject.
- Haz doble clic en «ThisWorkbook» para abrir el editor de código.
- Elige «Workbook» desde el primer cuadro desplegable.
- Elige «Activate» desde el segundo cuadro desplegable.
Private Sub Workbook_Activate()
MsgBox "El libro ha sido activado"
' Aquí va tu código
End Sub
Usar el evento Deactivate para un libro de trabajo
De manera similar, para ejecutar un código cuando el libro de trabajo se desactiva:
- Abre el código para «ThisWorkbook» como se describió en el ejemplo anteriores.
- Elige «Workbook» y luego «Deactivate» en los cuadros desplegables.
Private Sub Workbook_Deactivate()
MsgBox "El libro ha sido desactivado"
' Tu código aquí
End Sub
Recuerda que estos eventos son específicos de la hoja o libro en el cual estás escribiendo el código, y no se aplicarán a otros elementos a menos que también incluyas código en los respectivos módulos de esos elementos.
Es importante destacar que el código se ejecutará cada vez que ocurra el evento, entonces asegúrate de que sea eficiente y no interfiera con la usabilidad normal del libro por parte del usuario.