Está en la página 1de 15

EXCEL AVANZADO CON MACROS Nro.

DD-106
Página 1/15
Laboratorio – 02

TEMA: FUNDAMENTOS DE MACROS EN EXCEL

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

 PC con 2 GB memoria RAM


 Microsoft Excel instalado

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

3. Nombre del libro

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.2. Visualización de la ficha “Desarrollador” en la cinta de opciones


 Visualice la cinta de opciones de Excel.
 Puede ser que no vea la ficha “Desarrollador” como se ve en la siguiente figura:

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í

 En la ventana Opciones de Excel. En el recuadro “Fichas principales” seleccione el elemento


“Desarrollador”. Clic en el botón Aceptar

1. Seleccione
Desarrollador

2. Clic
Botón
Aceptar

 Verifique la presencia de la ficha Desarrollador en la cinta de opciones

 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

1.3. Grabación de macros


 Grabaremos una macro denominada Macro1 que coloque la palabra “Mes” en la celda A1
 Seleccione o active la “Hoja 1”
 En la ficha “Desarrollador” en la categoría “Código” elija la herramienta: “Grabar Macro”

 Complete los datos de identificación de la macro y luego presione el botón Aceptar:

 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”:

1.4. Ejecución de una macro


 Verificaremos el funcionamiento de la macro anterior
 Active o cambie a la Hoja 2
 Desde la Ficha Desarrollador, en la categoría Código elija la herramienta Macros

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

1.5. Visualizar el código de la macro creada


 Vamos a visualizar el código VBA generado por Excel para la macro “Macro1” que hemos creado en
la sección anterior
 Desde la ficha Desarrollador, en la categoría Código elija la herramienta Visual Basic

 A continuación se muestra el entorno de la Herramienta Visual Basic

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

2.2. Macro para realizar cálculos simples


 Grabar una nueva macro denominada m_calculo_porcentaje que al ser ejecutada calcule el 19% del
valor numérico almacenado en la celda A2 y coloque el resultado en la celda B2. Para ello realice lo
siguiente: empiece una grabación nueva  ingrese el nombre propuesto de la macro  ubíquese en
la celda B2  ingrese la fórmula para calcular el 19% del valor de la celda A2  detenga la grabación
 Active la “Hoja 2”, coloque algún valor en la celda A2
 Ejecute la macro creada
 Visualice el código generado para la nueva Macro y anote dicho código

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

2.3. Macro para rellenar las celdas con números enteros


 Grabar una nueva macro denominada m_numeros que al ser ejecutada rellene el rango de celdas
A1..A10 con los 10 primeros números enteros (Realice pasos similares a los anteriores ejercicios
para generar nuevas macros con la herramienta de grabación)
 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
Sub m_numeros()
'
' m_numeros Macro
' LLenar del 1 al 10 las celdas
'

'
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

2.4. Macro para asignar títulos a una Hoja Excel


 Grabar una nueva macro denominada m_titulos que al ser ejecutada genere los siguientes títulos en
la hoja de cálculo activa

 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

2.5. Macro para generar gráficos de barras


 Agregar una nueva Hoja al libro
 En la nueva Hoja adicionar los siguientes valores:

 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

2.6. Macro para generar gráficos circulares


 Grabar una nueva macro denominada m_grafico_pie que al ser ejecutada genere un gráfico circular
con los mismos datos indicados en el ejercicio anterior
 Ejecute la macro creada
 Visualice el código generado para la nueva Macro y anote dicho código
Sub m_grafico_pie()
'
' m_grafico_pie Macro
' Insertar grafico circular
'

'
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

2.7. Macros propuestas por el alumno


 Crear un nuevo libro habilitado para macros denominado lab_02b <nombre_completo>.xlsm
 Proponga usted diferentes macros que realicen acciones distintas de Excel. Adjunte en hojas
adicionales el código generado para cada macro propuesta.
Nota: El mínimo número de macros a proponer es 5

PARTE 3 – VISUAL BASIC PARA APLICACIONES


3.1. Creación de una calculadora en Microsoft Visual Basic para Aplicaciones.
a. En el libro inicial, en una nueva hoja de Excel, insertar lo siguiente:

b. Seleccionamos la pestaña “Desarrollador”. En la cinta de opciones seleccionamos


“Visual Basic”.
c. Una vez dentro, en la barra de menú seleccionamos la opción Insertar y clic en
“Módulo”.
d. Hacer clic encima del módulo creado y presionar la tecla F4 (para ver sus propiedades)
e. En el casillero (Name), cambiamos el nombre por “Operacionesmatemáticas” (todo
junto).
f. En la ventana “General” (del costado derecho), insertamos la siguiente instrucción:

Sub Sumarceldas (luego presionar Enter)

Nota: Observar que se coloca automáticamente el mensaje “End Sub” al final

g. Ingresar la siguiente instrucción en el medio:

Range(“B5”).Value = Range(“B2”).Value + Range(“B3”).Value

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”.

h. El resultado debe ser como la siguiente imagen.

ENTER

11
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 12/15
Laboratorio – 02

i. Guardamos los cambios y regresamos a la hoja actual de Excel.

j. En Excel insertaremos un botón de comando, ubicado en la ficha “Desarrollador”.

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.

l. Nos mostrará la ventana “Propiedades”. Cambiamos los siguientes datos: En la casilla


(Name) escribimos “cmdsuma”; en la casilla Caption colocamos el signo “+” y
cerramos la ventana.

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.

n. Guardamos nuevamente los cambios y regresamos a la hoja actual de Excel.

o. En Excel desactivamos el modo diseño haciendo clic sobre la opción:

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.

q. Realizar la misma operación para la resta, multiplicación y división:


 En el módulo Operacionesmatemáticas, agregar los procedimientos para la
resta, multiplicación y división (utilizar el mismo código que el de la suma,
realizando los cambios correspondientes).
 En Excel crear tres botones de comando adicionales.
 Cambiar sus nombres (name) y mensajes (caption) según corresponda.
 Hacer doble clic en cada botón de comando generado. Utilizar el procedimiento
que corresponda para restar, multiplicar o dividir.
 Probar el funcionamiento de cada botón.

14
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 15/15
Laboratorio – 02

OBSERVACIONES Y CONCLUSIONES
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________

15

También podría gustarte