1. MACROS EN EXCEL
Guía de Laboratorio - Taller de Macros en Excel
Docente: Fernando Bello Cárdenas
Guía No. 1
Una Macro es la reunión de una serie de pasos que se desean ejecutar
mediante una sola orden o comando. Por ejemplo, necesitamos todos los días
verificar mediante una búsqueda si un dato específico fue ingresado. Sin el
conocimiento de macros, todos los días tendría que realizar el mismo
procedimiento. Las macros nos permiten optimizar tiempo y trabajo.
Inicialmente vamos a trabajar con macros utilizando las funciones o comandos
de Excel.
1. Ingrese al menú de Programador, sección Código y luego presione click
sobre el botón . Visualizará una ventana con el título de
Grabar Macro, el cual permitirá darle el nombre a la macro y el método
abreviado para ejecutarla. También puede llegar a esta pantalla ingresando
por el menú de Vista, Sección Macros y Luego Grabar Marco.
2. Donde dice Nombre de la macro ya aparece el nombre que llevará la
macro en este caso Macro1. si desea cambiar el nombre escriba uno
nuevo. En la opción Método Abreviado se coloca la letra con la cual se desee
activar la macro. Para activar la macro se debe presionar la tecla Control
(CTRL) + la letra. por ejemplo ponga la letra f (en minúsculas).
3. Presione click en el Botón Aceptar. A partir de este momento todos los
comandos que se utilicen o los datos que se digiten quedarán grabados en
la Macro que usted haya nombrado. Observe que el botón de Grabar
Macro, cambió por el botón de Detener grabación.
2. 4. Como esta ubicado en A1, digite los siguientes datos en cada celda.
En A1, Universidad
En A3, Facultad
En A5, Semestre
En A7, (Digite su Código)
En A9, (Digite su Nombre)
5. Seleccione el rango A1:A9; ingrese al menú de Inicio, y utilice la sección de
Fuente para cambiar el tipo, tamaño y color de letra.
6. Presione el Botón Detener Grabación de la barra de Herramientas del
menú de Programador.
Ubíquese en la hoja2 y presione CTRL + f. Observe que la macro ejecuta
todos los comandos o instrucciones que se grabaron.
CODIGO FUENTE DE UNA MACRO DE EXCEL (VISUAL BASIC)
Como tenemos una macro grabada, que permite cambiar el tipo de letra a un
grupo de celdas; veremos cuales son las instrucciones equivalentes en el
lenguaje de visual Basic en Excel.
1. Para habilitar el editor de Visual Basic, presione click en el botón , o
presione la tecla y la tecla . Visualizará una pantalla, como se
muestra a continuación:
3. 2. Observe que en la parte izquierda aparecen dos ventanas una denominada
“Proyecto – VBAProject” y otra “Propiedades–Hoja1”. Si no las
visualiza, ingrese por el menú Ver y habilítelas.
Presione clic sobre el + de la carpeta de Módulos en la ventana de
Proyecto y cuando aparezca , presione doble click sobre él.
Visualizará una ventana con la siguiente codificación:
Ahora se explicará cada uno de los términos que encontramos en esta
codificación:
Las Instrucciones Sub y End Sub indican el inicio y el final del
procedimiento de la Macro.
Cuando se quiere colocar un comentario dentro de la codificación; es decir,
algo que no se quiere que haga parte de la ejecución de la macro (quien la
elaboró, fecha, comentarios) se le antepone un apostrofe ‘ . Observe que
aparece con otro color (Verde).
ActiveCell.FormulaR1C1 = “Universidad ______’’: Se utiliza para
asignar un dato en la celda activa o seleccionada previamente con la
instrucción Range.
Range("A3").Select: Se utiliza para seleccionar una celda. Ejemplo: A3.
Cuando estamos grabando la macro y presionamos clic sobre alguna celda,
esta es la instrucción que corresponde. Cuando estamos en código fuente,
equivale a trasladarnos a esa celda.
4. Range("A1:A9").Select: Se utiliza para seleccionar un bloque de celdas.
With Selection.Font: Para indicar que se van a modificar las
características del tipo de letra, a la selección previamente realizada.
Los parámetros (.Name, .FontStyle, Size, .Strikethrough, .Subscript,
Supersubscript, .OutlineFont, .Shadow, .Underline, .Colorindex), se
utilizan para cambiar el tipo de letra, el estil de letra, el tamaño y el color
entre otros.
End with: para cerrar la rutina de cambios.
Para practicar lo visto anteriormente; ingrese nuevamente a Excel, habilite el
editor de Visual Basic. Observará que no tenemos módulos. Créelo ingresando
por la opción de Insertar, opción Módulo; y digite la siguiente codificación:
Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 26/10/2010 por FERNANDO BELLO CARDENAS
'
Range("A1").Select
ActiveCell.FormulaR1C1 = "FACULTAD _____________"
Range("A3").Select
ActiveCell.FormulaR1C1 = "(Nombre asignatura)"
Range("A5").Select
ActiveCell.FormulaR1C1 = "(Semestre)"
Range("C5").Select
ActiveCell.FormulaR1C1 = "OCTUBRE 26 DE 2.010"
Range("A8").Select
ActiveCell.FormulaR1C1 = "FERNANDO BELLO CARDENAS"
End Sub
Presione el botón de para ejecutar la macro que acabo de crear. Ahora
ubíquese en Excel, y visualizará el resultado de su macro. Para crearle método
abreviado a la macro, ingrese por el menú de Programador, Botón Macro, y
seleccione la opción de Opciones.
Ejercicios de Repaso utilizando las opciones de los menús:
Genera una Macro que escriba un nombre en una celda y cambie el estilo de
letra a negrilla. Observe el Código.
Genera una Macro que escriba un nombre en una celda y cambie la
justificación a centrado. Observe el Código.
Genera una Macro que busque su nombre utilizando el menú. Observe el
Código.
Genera una Macro que inserte una fila. Observe el Código.
Genera una Macro que elimine una fila. Observe el Código.
Genera una Macro para ordenar ascendentemente. Observe el Código.
5. Repaso de códigos utilizados:
Trasladarse a una Celda Range("A1").Select
Escribir en una Celda Activecell.FormulaR1C1="Fernando"
Letra Negrita Selection.Font.Bold = True
Letra Cursiva Selection.Font.Italic = True
Centrar Texto With Selection
.HorizontalAlignment = xlCenter
End With
Tipo de Letra(Fuente) With Selection.Font
.Name = "AGaramond"
End With
Tamaño de Letra With Selection.Font
.Size = 15
End With
Ordenar Ascendente Selection.Sort Key1:=Range("A1"),
Order1:=xlAscending, Header:=xlGuess,
_OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom
Buscar Cells.Find(What:="Grupo", After:=ActiveCell,
LookIn:=xlFormulas, LookAt _:=xlPart,
SearchOrder:=xlByRows,
SearchDirection:=xlNext, MatchCase:=
_False).Activate
Insertar Fila Selection.EntireRow.Insert
Eliminar Fila Selection.EntireRow.Delete