Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DD-106
Página 1/15
Laboratorio – 02
OBJETIVOS
Identificar las principales herramientas para trabajar con macros que trae incorporado Microsoft Excel
Crear un documento en Excel que permita almacenar macros
Visualizar la ficha “Desarrollador” en la cinta de opciones de Excel
Grabar macros simples
Visualizar el código de una macro empleando la herramienta Visual Basic para Aplicaciones que viene
incorporado con Excel
REQUERIMIENTOS
PROCEDIMIENTO
1. Creación de macros en Excel
1.1. Crear un documento que permite almacenar Macros en Excel
Inicie el software MS Excel
Crear un nuevo libro y guardarlo con el nombre Lab_02 <nombre_completo>.xlsm
2. Tipo de libro
1. Grabar el libro
Nota: Los archivos con extensión *.xlsx de Excel no permiten almacenar macros, para poder
grabar macros es necesario almacenar el archivo con la extensión *.xlsm como se indica
en el ítem anterior
1
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 2/15
Laboratorio – 02
Clic derecho en la cinta de opciones como se indica en la figura anterior en alguna zona libre y luego
elija la opción “Personalizar la cinta de opciones”
1. Clic
Derecho
Aquí
1. Seleccione
Desarrollador
2. Clic
Botón
Aceptar
Haga Clic en la ficha Desarrollador y vea las herramientas que vienen disponibles:
2
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 3/15
Laboratorio – 02
A partir de este momento Excel “Grabará” cada una de las acciones que usted realice
Proceda a ingresar la palabra Mes en la celda A1. Al finalizar presione la tecla ENTER
Ahora procederemos a detener la grabación de la Macro anterior, para ello presione el botón
denominado “Detener grabación” ubicado en la categoría “Código” de la ficha “Desarrollador”:
3
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 4/15
Laboratorio – 02
Seleccione la única macro disponible hasta el momento denominada Macro1 y presione el botón
Ejecutar
Verifique que en la celda A1 de la Hoja 2 haya aparecido el texto Mes como resultado de la acción de
la macro
Repita el procedimiento anterior para que la macro coloque el texto Mes en la celda A1 de la Hoja 3
4
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 5/15
Laboratorio – 02
Del Panel izquierdo, denominado Proyecto, expanda el nodo Módulos y abra el archivo Módulo1
para ver su contenido:
El listado anterior representa el código de nuestra primera macro denominada Macro1 que fue
creada por nosotros previamente. Las instrucciones corresponden al lenguaje Visual Basic que es
utilizado por Excel para la programación de las macros.
2. Ejercicios propuestos de creación de macros en Excel
2.1. Macro para borrar el contenido de una celda
Grabar una nueva macro denominada m_borrar_celda que al ser ejecutada elimine el contenido de
la celda actual. Para ello siga los siguientes pasos: empiece una grabación nueva ingrese el
nombre propuesto de la macro cuando ya esté grabando la nueva macro, borre el contenido de la
celda actual presionando la tecla SUPR o DEL Detenga la grabación
Active la “Hoja 2”, coloque algún valor en la celda B3
Seleccione la celda B3 y ejecute la macro creada
En la misma hoja, ingrese valores en distintas celdas. Seleccione todas las celdas donde ha ingresado
esos valores y vuelva a ejecutar la macro creada.
Visualice el código generado de la nueva Macro y anote dicho código
Sub m_borrar_celda()
'
' m_borrar_celda Macro
' Borrar contenido de una celda
'
'
Range("B3").Select
Selection.ClearContents
End Sub
5
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 6/15
Laboratorio – 02
Sub m_calculo_porcentaje()
'
' m_calculo_porcentaje Macro
' calculo del 19% de un vaor numerico
'
'
Range("B2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=0.19*RC[-1]"
Range("B3").Select
End Sub
'
ActiveCell.FormulaR1C1 = "1"
Range("A2").Select
ActiveCell.FormulaR1C1 = "2"
Range("A1:A2").Select
Selection.AutoFill Destination:=Range("A1:A10"), Type:=xlFillDefault
Range("A1:A10").Select
End Sub
Active la “Hoja 2”, borre todo el contenido de la hoja y ejecute la macro creada
Visualice el código generado para la nueva Macro y anote dicho código
6
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 7/15
Laboratorio – 02
Sub m_titulos()
'
' m_titulos Macro
' Creacion de los titulos
'
'
Range("A2").Select
ActiveCell.FormulaR1C1 = "Nro"
Range("B2").Select
ActiveCell.FormulaR1C1 = "Nombre"
Range("C2").Select
ActiveCell.FormulaR1C1 = "DNI"
Range("D2").Select
ActiveCell.FormulaR1C1 = "Sexo"
Range("E2").Select
ActiveCell.FormulaR1C1 = "Fecha de nacimiento"
Range("B5").Select
Rows("2:2").RowHeight = 29.25
Range("E2").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("A2:E2").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
7
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 8/15
Laboratorio – 02
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Font.Bold = True
With Selection.Interior
8
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 9/15
Laboratorio – 02
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent6
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
End Sub
Grabar una nueva macro denominada m_grafico_barras que al ser ejecutada genere un gráfico de
barras con los datos indicados en la hoja anterior
Ejecute la macro creada
Visualice el código generado para la nueva Macro y anote dicho código
9
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 10/15
Laboratorio – 02
Sub m_Grafico_Barras()
'
' m_Grafico_Barras Macro
' insetar grafico de barras
'
'
Range("A2:B14").Select
ActiveSheet.Shapes.AddChart2(286, xl3DColumnStacked).Select
ActiveChart.SetSourceData Source:=Range("Hoja3!$A$2:$B$14")
ActiveSheet.Shapes("Gráfico 1").ScaleWidth 0.7802084427, msoFalse, _
msoScaleFromTopLeft
ActiveSheet.Shapes("Gráfico 1").ScaleHeight 0.8975692622, msoFalse, _
msoScaleFromBottomRight
ActiveSheet.Shapes("Gráfico 1").IncrementLeft 78
ActiveSheet.Shapes("Gráfico 1").IncrementTop -68.25
ActiveChart.ChartColor = 12
End Sub
'
Range("A2:B14").Select
ActiveSheet.Shapes.AddChart2(262, xl3DPie).Select
ActiveChart.SetSourceData Source:=Range("Hoja3!$A$2:$B$14")
ActiveSheet.Shapes("Gráfico 2").ScaleWidth 0.832291776, msoFalse, _
msoScaleFromTopLeft
ActiveSheet.Shapes("Gráfico 2").ScaleHeight 0.6788192622, msoFalse, _
msoScaleFromBottomRight
ActiveWindow.SmallScroll Down:=9
ActiveSheet.Shapes("Gráfico 2").IncrementLeft 79.5
ActiveSheet.Shapes("Gráfico 2").IncrementTop 92.25
End Sub
¿Qué diferencia encuentra usted entre las dos macros anteriores? __________________________
__________________________________________________________________________
__________________________________________________________________________
10
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 11/15
Laboratorio – 02
Nota: Hemos creado el procedimiento con nombre “Sumarceldas” que permite sumar
dos valores específicos. Observar que el procedimiento empieza con el mensaje “Sub” y
termina con el mensaje “End Sub”.
ENTER
11
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 12/15
Laboratorio – 02
12
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 13/15
Laboratorio – 02
k. Dibujamos un botón cuadrado que será el botón para la suma. Seleccionamos el botón,
clic en propiedades.
m. Damos doble clic en el botón de suma creado, nos mostrará plataforma VBA. En la
ventana de “cmdsuma”, escribimos “sumarceldas”.
Nota: Esta instrucción indica que, al hacer doble clic en el botón creado, queremos
utilizar el procedimiento sumarceldas, creado en el módulo Operacionesmatemáticas.
13
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 14/15
Laboratorio – 02
p. Ingresamos valores en las celdas B2 y B3. Hacemos clic sobre el botón de suma creado
y comprobamos la suma de los valores ingresados, la cual se debe mostrar en la celda
B5.
14
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 15/15
Laboratorio – 02
OBSERVACIONES Y CONCLUSIONES
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
15