MACROS EN EXCEL
Una Macro se utiliza para automatizar aquellas acciones que se hacen repetidamente. Consiste en una serie de instrucciones guardadas en Excel, para utilizar cuando sea necesario.
Para que una Macro sea funcional, usted debe identificar un proceso repetitivo, para automatizarlo.
Las macros, están disponibles en la pestaña PROGRAMADOR, si no tiene habilitada la pestaña, debe hacerlo por ARCHIVO - OPCIONES - PERSONALIZAR CINTA DE OPCIONES
En la parte derecha se habilita la opción PROGRAMADOR o DESARROLLADOR
Para iniciar una Macro, seleccionar la opción Grabar Macro
Se despliega una ventana de opciones donde puede ponerle nombre a la Macro, Usar combinación de teclas con CTRL para ejecución rápida
Y una breve descripción explicando que hace la macro.
Al dar Aceptar, la macro registra todas las acciones que usted realice, por este motivo, debe ser cuidadoso en los click que hace, o en las teclas que presione.
También cambia la opción Grabar Macro, por Detener grabación
Para utilizar la macro grabada, presione la opción Macros y seleccione la macro deseada
Puede ejecutar la macro, ejecutarla paso a paso o modificarla. Al seleccionar la opción modificar, Excel abre el editor de Visual Basic donde muestra el código de la macro.
Cuando se guarde el archivo, debe asegurarse de seleccionar "Libro de Excel Habilitado para Macros"
HACER UNA MACRO DE EDICION
Para esta macro, es necesario recurrir a la programación de Visual Basic, cuya programación puede verse de la siguiente manera:
Private Sub CommandButton1_Click()
Dim id As Integer, fila As Integer
id = InputBox("SU ID", "Titulo", "Digite aquí su ID:")
fila = Application.WorksheetFunction.Match(id, Hoja1.Range("A:A"), 0)
Hoja1.Cells(7, 7).Value = Hoja1.Cells(fila, 1).Value
Hoja1.Cells(7, 8).Value = Hoja1.Cells(fila, 2).Value
Hoja1.Cells(7, 9).Value = Hoja1.Cells(fila, 3).Value
Hoja1.Cells(7, 10).Value = Hoja1.Cells(fila, 4).Value
Hoja1.Cells(7, 11).Value = Hoja1.Cells(fila, 5).Value
End Sub
Donde:
Private Sub CommandButton1_Click()
End Sub
Es la declaración de variables. (enteras, decimales, caracter, fecha, etc)
fila = Application.WorksheetFunction.Match(id, Hoja1.Range("A:A"), 0)
Hoja1.Cells(7, 7).Value = Hoja1.Cells(fila, 1).Value
Hoja1.Cells(7, 8).Value = Hoja1.Cells(fila, 2).Value
Hoja1.Cells(7, 9).Value = Hoja1.Cells(fila, 3).Value
Hoja1.Cells(7, 10).Value = Hoja1.Cells(fila, 4).Value
Hoja1.Cells(7, 11).Value = Hoja1.Cells(fila, 5).Value
Es la parte del código, que realiza las acciones requeridas
GUARDAR EL REGISTRO EDITADO
El código para esta macro, sería similar al siguiente
Private Sub CommandButton2_Click()
Dim fila As String
fila = Application.WorksheetFunction.Match(Hoja1.Range("G7").Value, Hoja1.Range("A:A"), 0)
Hoja1.Cells(fila, 2).Value = Hoja1.Cells(7, 8).Value
Hoja1.Cells(fila, 3).Value = Hoja1.Cells(7, 9).Value
Hoja1.Cells(fila, 4).Value = Hoja1.Cells(7, 10).Value
Hoja1.Cells(fila, 5).Value = Hoja1.Cells(7, 11).Value
Range("G7:K7").Select
Selection.ClearContents
Range("G7").Select
End Sub
ELIMINAR UN REGISTRO SELECCIONADO
El código para eliminar un registro, sería similar al siguiente:
Private Sub CommandButton3_Click()
Dim fila As Integer
fila = Application.WorksheetFunction.Match(Hoja1.Range("G7").Value, Hoja1.Range("A:A"), 0)
Hoja1.Cells(fila, 1).Select
Rows(fila & ":" & fila).Select
Selection.Delete Shift:=xlUp
Range("G7:K7").Select
Selection.ClearContents
Range("G7").Select
End Sub
ACTIVIDAD DE APRENDIZAJE
En un libro de Excel, crear una hoja con el nombre "CRUD" y otra hoja con el nombre "DATOS"
En la hoja CRUD, debe crear los campos necesarios para hacer las siguientes actividades:
- Insertar
- Consultar
- Editar
- Eliminar
Cada una de estas opciones deben representarse con un botón o imagen alusiva y deben una macro que realice la acción.
En la hoja DATOS debe guardarse la siguiente información:
No hay comentarios.:
Publicar un comentario