Macros

 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


Definen la macro o el programa.
    
           Dim id As Integer, fila As Integer

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

Registro de Asistencia

  Estimado aprendiz, su asistencia al curso es muy importante para nosotros Registre su asistencia en el siguiente link REGISTRO DE ASISTENC...