Programar los objetos de Excel Hasta ahora todas las macros se ejecutaban cuando se las elige de la lista de macros o se presiona su mtodo abreviadopero las macros se puede ejecutar automticamentea travs de los eventos de la hoja de clculo y se almacenan en otro contenedor distinto del Mdulo. EVENTOS Acciones que ocurren en determinado producido por reaccin a determinados estmulos. (Ej. Hacer clic, Hacer Doble Clic, Presionar un botn, Cambiar de Hoja, Introducir un dato en una celda, cambiar de celda, etc.) Los Eventos de Excel tienen un nombre definido ms complejo y responden a determinado estmulo tambin definido: NombreDelObjeto_NombreEvento. Contenedores de Macros Un libro de Excel tiene por lo menos 3 hojas, entonces, existen mnimo 4 POSIBLES contenedores para las Macros, una por cada hoja y un contenedor por el libro en s. Eventos de una HOJA especfica de un libro de Excel Una hoja de un libro tiene una serie de eventos que responden a determinadas situaciones o acciones que realiza el usuario. Ej: Cambiar de celda, introducir un valor, Cambiar de hoja,
Ejemplo: Eventos de las hojas de un Libro
CUANDO SE ACTIVA UNA HOJA DEL LIBRO ACTUAL Private Sub Worksheet_Change() MsgBox Algo cambio en la hoja actual" End Sub CUANDO SE CAMBIA DE HOJA DEL LIBRO ACTUAL Private Sub Worksheet_Deactivate() MsgBox "Esta dejando la hoja & ActiveSheet.Name End Sub CUANDO SE CAMBIA DE HOJA DEL LIBRO ACTUAL Private Sub Worksheet_SelectionChange(ByVal Target As Range) MsgBox "Cambio algo en la hoja actual" End Sub Eventos del libro activo Un libro tiene ms eventos que una hoja de un libro, lo cual permite, tener mas alternativas al personalizar Excel. EVENTOS DEL LIBRO Ejemplo: Eventos del libro
Cuando se abra el libro Tipo de Cambio solicitar al usuario introducir el tipo de cambio oficial del da, e insertarlo en la fila que corresponde junto con la fecha actual. CUANDO SE ACTIVA UNA HOJA DEL LIBRO ACTUAL Private Sub Workbook_Open() Dim tc As Double Dim valor As String
Worksheets(1).Activate CeldaInicial = "B6" tc = InputBox("Introduzca el tipo de cambio del da")
'Busca la siguiente fila en blanco Range(CeldaInicial).Select While ActiveCell.Value <> Empty ActiveCell.Offset(1, 0).Select Wend ActiveCell.Value = Date ActiveCell.Offset(0, 1).Value = tc ' valor
End Sub Proceso de la Macro Ubicacin del Archivo de Macros PERSONAL.XLS Complemento al Ejemplo Anterior Grabar una Macro que al hacer clic en un botn de la barra de herramientas se abra el libro Tipo de Cambio, que se encuentra en la Unidad C, en el directorio Macros Excel. PARA ABRIR UN LIBRO DETERMINADO Sub AbrirTC() Workbooks.Open ("C:\Macros Excel\Tipo de Cambio 2005.xls") Workbooks("Tipo de Cambio 2005.xls").Activate End Sub SUGERENCIA Si desea que la macro este disponible en cualquier momento, escribir el cdigo en el Libro PERSONAL de Macros, dicho libro se abre en forma oculta cada vez que se trabaja con Excel. Lista de Eventos