Excel Avanzado

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

Excel Avanzado
Eventos en VBA

¿Qué son los Eventos en VBA?

| 9 Comments

Evento es toda acción que puede ser reconocida por un objeto, como puede ser el clic del mouse o la pulsación de una tecla, y para la que es posible escribir un código como respuesta.

Los eventos pueden ocurrir como resultado de una acción del usuario o del código del programa, también pueden ser originados por el sistema.

Existen una gran cantidad de macros de evento así que solo revisaremos las más utilizadas.

A.     WorkbookOpen: El usuario abre un libro de Excel.

Eventos de libros

Los eventos de libros permiten activar automáticamente una macro cuando suceden determinadas acciones a nivel del libro Excel, por ejemplo: abrirlo, guardarlo, cerrarlo, imprimirlo, etc.

Instrucciones para insertar una macro de evento a nivel libro:

  1. Las macros de eventos se deben escribir en la carpeta ThisWorkbook del editor de macros.
  2. Luego en la primera lista desplegable de la ventana de macros elegimos la opción Workbook.
  3. Finalmente, en la lista desplegable de la derecha veremos todos los eventos de libro que podemos utilizar para nuestra macro.
    EjemploInstrucción:

Resultado: 

B.     WorkbookActivate: El usuario activa un libro de Excel.

Eventos de hojas

Los eventos de hojas permiten usar automáticamente una macro cuando suceden determinadas acciones a nivel de hojas Excel, por ejemplo al activarla, desactivarla, calcularla, etc.

Instrucciones para insertar una macro de evento a nivel hoja:

  1. Las macros de eventos se deben escribir en la carpeta Hoja1 (Nombre) del editor de macros. Por ejemplo, si  tu Excel la hoja2 se llama “Gastos”, en el editor verías Hoja2(GASTOS). En nuestro caso tenemos Hoja2 (GASTOS). Al hacer doble clic en dicha carpeta, la macro que escribamos solo afectará a dicha hoja.
  2. Luego en la primera lista desplegable de la ventana de macros elegimos la opción Worksheet.
  3. Finalmente, en la lista desplegable de la derecha veremos todos los eventos de hoja que podemos utilizar para  nuestra macro automáticamente.

Instrucción:

Resultado:

Los eventos en VBA se utilizan para controlar el momento o acción que deseamos ejecutar definido por el usuario.

C.    Evento Click

Indica que se ha producido un clic. Y necesita información  más concreta para ejecutar una acción

Ejemplo: 1.- Se crea el botón inicio en la hoja3, la acción que ejecuta es ir a la hoja INICIO

2.- Instrucción para el evento click

3.- Resultado

 

Por: Nelly Ventura

9 Comments

  1. Existen eventos para casi todos los objetos de Excel. Podemos clasificar los eventos de la siguiente manera:

    Eventos del cuaderno (Workbook events): responden a acciones en un cuaderno en particular. Por ejemplo Workbook_Open, que ocurre cuando abrimos un cuaderno.

    Eventos de las hojas (Worksheet events): responden a acciones en una hoja en particular. Por ejemplo Worksheet_Calculate, que ocurre cuando la hoja es recalculada.

    Eventos de gráficos (Charts events): responden a acciones en un gráfico en particular.

    Eventos de la aplicación (Application events): responden a acciones a nivel de la aplicación (es decir, Excel). Un ejemplo es WorkbookBeforeClose, que ocurre cuando iniciamos el proceso de cerrar un cuaderno.

    Eventos de formularios/controles (Userform events): por ejemplo, el botón de la barra de formulario tiene un evento Button_Click.

  2. VBA es una programación que está íntimamente relacionada con los libros y las hojas de cálculo y para esto Excel cuenta con un editor de programación donde se pone el código, a este se puede acceder. Y los eventos nos ayuda a monitoriar las acciones que se realizan con cada una de las macros a ser utilizadas

  3. Mediante el editor de Visual Basic integrado en Excel es posible controlar determinados eventos que acontencen en un libro de trabajo. Por ejemplo abrirlo, cerrarlo, cambiar la selección, guardar, etc. Te explicamos cómo controlarlos en todos los libros de trabajo que abres, no en uno en particular.

  4. Workbook_Open = Abrir

    Worksheet_Calculate = Recalcular

    WorkbookBeforeClose = Cerrar

  5. Supongo que estos eventos son los que se utilizan cuando alguien quiere abrir por segunda vez un libro de excel y este arroja un mensaje que dice “este libro esta siendo utilizado por otro usuairo. Puede utilizarlo como SOlo lectura”.

  6. Agrego un código útil en el manejo de base de datos que resalta fila y columna al seleccionar una celda:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Cells.Interior.ColorIndex = xlColorIndexNone
    ActiveCell.EntireRow.Interior.ColorIndex = 15
    ActiveCell.EntireColumn.Interior.ColorIndex = 15
    End Sub

  7. Al probar los eventos, estos reflejan que son utililes para instrucciones que de alguna manera son estandares como abrir, activar, generar instrucciones con un click, etc. Una gran ayuda para el desarrollo de las macros

  8. Los eventos son las diferentes opciones que tienen los controles para poder activarse.

  9. También se podría usar para realizar diferentes indicaciones en el trabajo . Por ejemplo : Con el WorkSheetOpen podemos decir :
    MsgBox “Hoy nos toca revisar el Balance” y enviarlo a nuestros compañeros de trabajo

Deja un comentario

Required fields are marked *.


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