Eventos en Excel

El término "evento de Excel» se utiliza para indicar ciertas acciones realizadas por el usuario en Excel. Por ejemplo, cuando un usuario cambia la hoja de un libro de trabajo, esto es un evento. Ingresar datos en una celda o guardar un libro de trabajo también son eventos de Excel.

Los eventos se pueden vincular a una hoja de cálculo de Excel, a gráficos, a un libro de trabajo o directamente a la propia aplicación de Excel. Los programadores pueden crear código VBA que se ejecutará automáticamente cuando ocurra un evento.

Por ejemplo, para ejecutar una macro cada vez que el usuario cambia una hoja de trabajo en un libro de Excel, crearía un código VBA que se ejecutará cada vez que ocurra el evento. HojaActivar libro de trabajo.

Y si desea que la macro se ejecute cada vez que vaya a una hoja de cálculo específica (por ejemplo, Sheet1), entonces el código VBA debe estar asociado con el evento Activar para esta hoja.

El código de VBA destinado a manejar eventos de Excel debe colocarse en la hoja de trabajo o el objeto de libro de trabajo apropiado en la ventana del editor de VBA (el editor se puede abrir haciendo clic en Alt + F11). Por ejemplo, el código que debe ejecutarse cada vez que ocurre un determinado evento en el nivel de la hoja de trabajo debe colocarse en la ventana de código de esa hoja de trabajo. Esto se muestra en la figura:

En el editor de Visual Basic, puede ver el conjunto de todos los eventos de Excel disponibles a nivel de libro, hoja de cálculo o gráfico. Abra la ventana de código para el objeto seleccionado y seleccione el tipo de objeto del menú desplegable izquierdo en la parte superior de la ventana. El menú desplegable derecho en la parte superior de la ventana mostrará los eventos definidos para este objeto. La siguiente figura muestra una lista de eventos asociados con una hoja de cálculo de Excel:

Eventos en Excel

Haga clic en el evento deseado en el menú desplegable de la derecha y se insertará automáticamente un procedimiento en la ventana de código para este objeto. Sub. al frente del procedimiento Sub Excel inserta automáticamente los argumentos necesarios (si los hay). Todo lo que queda es agregar el código VBA para determinar qué acciones debe realizar el procedimiento cuando se detecta el evento deseado.

Ejemplo

En el siguiente ejemplo, cada vez que se selecciona una celda B1 en la hoja de trabajo Sheet1 aparece un cuadro de mensaje.

Para realizar esta acción, necesitamos usar el evento de la hoja de trabajo Cambio_selección, que ocurre cada vez que cambia la selección de una celda o rango de celdas. Función Cambio_selección recibe como argumento Target objeto -. Así es como sabemos qué rango de celdas se seleccionó.

Evento Cambio_selección ocurre con cualquier nueva selección. Pero necesitamos que el conjunto de acciones se ejecute solo cuando se selecciona la celda B1. Para hacer esto, rastrearemos el evento solo en el rango especificado Target. Cómo se implementa en el código del programa que se muestra a continuación:

'Código para mostrar un cuadro de mensaje cuando se selecciona la celda B1 'en la hoja de cálculo actual. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Verifique si la celda B1 está seleccionada If Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Entonces 'Si la celda B1 está seleccionada, entonces haga lo siguiente MsgBox "Tiene seleccionado una celda B1" End If End Sub

Deje un comentario