Cómo escribir un procedimiento de manejo de eventos en Excel 2016 VBA

  1. Software
  2. Oficina de Microsoft
  3. Excel
  4. Cómo escribir un procedimiento de manejo de eventos en Excel 2016 VBA

Libro Relacionado

Por John Walkenbach

¿Tienes curiosidad por saber cómo escribir un procedimiento de manejo de eventos en VBA? El VBE le ayuda cuando está listo para escribir un procedimiento de manejo de eventos; muestra una lista de todos los eventos para el objeto seleccionado.

En la parte superior de cada ventana de Código, encontrará dos listas desplegables:

  • La lista desplegable Objeto (la de la izquierda)
  • La lista desplegable Procedimiento (la de la derecha)

Por defecto, la lista desplegable Objeto de la ventana Código muestra General.

Si está escribiendo un manejador de eventos para el objeto ThisWorkbook, necesita hacer clic en ThisWorkbook en la ventana de Proyecto y luego elegir Workbook en el menú desplegable Object (es la única otra opción).

Si está escribiendo un manejador de eventos para un objeto Hoja, necesita hacer clic en la Hoja específica en la ventana Proyecto y luego elegir Hoja de trabajo de la lista desplegable Objeto (de nuevo, la única otra opción).

Después de haber hecho su elección de la lista desplegable Objeto, puede elegir el evento de la lista desplegable Procedimiento. Aquí están algunas de las opciones para un evento relacionado con el libro de trabajo.

Elegir un evento en la ventana Código para el objeto ThisWorkbook.

Al seleccionar un evento de la lista, VBE inicia automáticamente la creación de un procedimiento de gestión de eventos para usted. Esta es una característica muy útil, porque le dice exactamente cuáles son los argumentos adecuados.

Aquí hay una pequeña rareza. Cuando selecciona por primera vez Libro de trabajo de la lista de objetos, VBE siempre asume que desea crear un procedimiento de gestor de eventos para el evento Open y lo crea para usted. Si está creando un procedimiento Workbook_Open, está bien. Pero si está creando un procedimiento de evento diferente, necesita eliminar el Workbook_Open Sub vacío que se creó.

Sin embargo, la ayuda de VBE sólo llega hasta cierto punto. Escribe la sentencia Sub y la sentencia End Sub. Escribir el código VBA que va entre estas dos declaraciones es su trabajo.

Realmente no tiene que usar esas dos listas desplegables, pero hacerlo hace que su trabajo sea más fácil porque el nombre del procedimiento del manejador de eventos es de importancia crítica. Si no consigues el nombre exacto, el procedimiento no funcionará. Además, algunos procedimientos del manejador de eventos utilizan uno o más argumentos en la sentencia Sub. No hay forma de que puedas recordar cuáles son esos argumentos. Por ejemplo, si selecciona SheetActivate de la lista de eventos para un objeto de libro de trabajo, VBE escribe la siguiente sentencia Sub:

Libro de trabajo_hoja_de_trabajo_privadoActivar(ByVal Sh Como Objeto)

En este caso, Sh es el argumento pasado al procedimiento y es una variable que representa la hoja en el libro de trabajo activado.

ADD YOUR COMMENT