Sunteți pe pagina 1din 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
 Encienda la PC utilice la cuenta de usuario: tecsup clave: Virtu@l
 Inicie el software MS Excel
 Crear un nuevo libro y guardarlo con el nombre Lab_02 <nombre_completo>.xlsm en la carpeta de
la unidad E

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.
1
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 2/15
Laboratorio – 02

 Puede ser que no vea la ficha “Desarrollador” como se ve en la siguiente figura:

 Click 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. Click
Derecho
Aquí

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


“Desarrollador”. Click en el botón Aceptar

1. Seleccione
Desarrollador

2. Click
Botón
Aceptar

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

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

 Haga Clic en la ficha Desarrollador y vea las herramientas que vienen disponibles:

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, hacer clic sobre
cualquier celda  borre su contenido 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
 Visualice el código generado para la nueva Macro y anote dicho código
 Sub Macro4()
 '
 ' Macro4 Macro
 ' al ser ejecutada elimine el contenido de la celda actual
 '

 '
 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
 Sub Mcalculoporcentaje()
 '
5
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 6/15
Laboratorio – 02

 ' Mcalculoporcentaje Macro


 ' Al ser ejecutada calcule el 19% del valor numérico almacenado en la celda A2 y coloque el
resultado en la celda B2.
 '

 '
 Range("B2").Select
 ActiveCell.FormulaR1C1 = "=RC[-1]*0.19"
 Range("B3").Select
 End Sub

2.3. Macro para imprimir una hoja de un libro


 Grabar una nueva macro denominada m_imprimir que al ser ejecutada envíe a la impresora actual el
contenido de la hoja actual o activa. Para ello realice lo siguiente: elija una hoja de cálculo que quiera
imprimir (debe tener valores)  empiece una grabación nueva  ingrese el nombre propuesto de la
macro  efectúe los pasos para imprimir  imprima el documento como PDF (de estar disponible)
 detener la grabación
 Active la “Hoja 2” y ejecute la macro creada
 Visualice el código generado para la nueva Macro y anote dicho código
 Sub Mimprimir()
 '
 ' Mimprimir Macro
 ' Al ser ejecutada envíe a la impresora actual el contenido de la hoja actual o activa
 '

 '
 Sheets("Hoja2").Select
 Range("B5").Select
 ActiveCell.FormulaR1C1 = "Mimprimir"
 Range("B6").Select
 End Sub

2.4. 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 Mnumeros()
 '
 ' Mnumeros Macro
 ' Al ser ejecutada rellene el rango de celdas A1..A10 con los 10 primeros números enteros
 '

 '
 Range("A1").Select
6
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 7/15
Laboratorio – 02

 ActiveCell.FormulaR1C1 = "1"
 Range("A2").Select
 ActiveCell.FormulaR1C1 = "2"
 Range("A3").Select
 ActiveCell.FormulaR1C1 = "3"
 Range("A4").Select
 ActiveCell.FormulaR1C1 = "4"
 Range("A5").Select
 ActiveCell.FormulaR1C1 = "5"
 Range("A6").Select
 ActiveCell.FormulaR1C1 = "6"
 Range("A7").Select
 ActiveCell.FormulaR1C1 = "7"
 Range("A8").Select
 ActiveCell.FormulaR1C1 = "8"
 Range("A9").Select
 ActiveCell.FormulaR1C1 = "9"
 Range("A10").Select
 ActiveCell.FormulaR1C1 = "10"
 Range("A11").Select
 End Sub

2.5. 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
 Sub Mtitulos()
 '
 ' Mtitulos Macro
 ' Al ser ejecutada genere los siguientes títulos en la hoja de cálculo activa
 '

 '
 Sheets.Add After:=ActiveSheet
 Range("A2").Select
 ActiveCell.FormulaR1C1 = "Nro."
 Range("B2").Select
 ActiveCell.FormulaR1C1 = "No,bre"
 Range("C2").Select

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

 ActiveCell.FormulaR1C1 = "DNI"
 Range("D2").Select
 ActiveCell.FormulaR1C1 = "Sexo"
 Range("E2").Select
 ActiveCell.FormulaR1C1 = "Fecha de Nacimiento"
 Rows("2:2").Select
 Selection.RowHeight = 28.5
 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
 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
8
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 9/15
Laboratorio – 02

 End With
 With Selection.Interior
 .Pattern = xlSolid
 .PatternColorIndex = xlAutomatic
 .ThemeColor = xlThemeColorAccent6
 .TintAndShade = 0
 .PatternTintAndShade = 0
 End With
 With Selection
 .HorizontalAlignment = xlGeneral
 .VerticalAlignment = xlCenter
 .WrapText = False
 .Orientation = 0
 .AddIndent = False
 .IndentLevel = 0
 .ShrinkToFit = False
 .ReadingOrder = xlContext
 .MergeCells = False
 End With
 With Selection
 .HorizontalAlignment = xlCenter
 .VerticalAlignment = xlCenter
 .WrapText = False
 .Orientation = 0
 .AddIndent = False
 .IndentLevel = 0
 .ShrinkToFit = False
 .ReadingOrder = xlContext
 .MergeCells = False
 End With
 Range("E2").Select
 With Selection
 .HorizontalAlignment = xlCenter
 .VerticalAlignment = xlCenter
 .WrapText = True
 .Orientation = 0
 .AddIndent = False
 .IndentLevel = 0
 .ShrinkToFit = False
 .ReadingOrder = xlContext
 .MergeCells = False
 End With
 End Sub

2.6. Macro para generar gráficos de barras


 Agregar una nueva Hoja al libro
9
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 10/15
Laboratorio – 02

 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
 Sub Mgraficobarras()
 '
 ' Mgraficobarras Macro
 ' Al ser ejecutada genere un gráfico de barras con los datos indicados en la hoja anterior
 '

 '
 Range("A2:A14,B2:B14").Select
 Range("B2").Activate
 ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
 ActiveChart.SetSourceData Source:=Range("Hoja4!$A$2:$A$14,Hoja4!$B$2:$B$14")
 ActiveChart.ClearToMatchStyle
 ActiveChart.ChartStyle = 204
 End Sub

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

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

 Sub Mgraficopie()
 '
 ' Mgraficopie Macro
 ' Al ser ejecutada genere un gráfico circular con los mismos datos indicados en el ejercicio
anterior
 '

 '
 Range("A2:A14,B2:B14").Select
 Range("B2").Activate
 ActiveSheet.Shapes.AddChart2(251, xlPie).Select
 ActiveChart.SetSourceData Source:=Range("Hoja4!$A$2:$A$14,Hoja4!$B$2:$B$14")
 ActiveChart.ClearToMatchStyle
 ActiveChart.ChartStyle = 260
 End Sub

 ¿Qué diferencia encuentra usted entre las dos macros anteriores? __________________________
__________________________________________________________________________
__________________________________________________________________________
2.8. Macros propuestas por el alumno
 Crear un nuevo libro habilitado para macros denominado lab_02b <nombre_completo>.xlsm
almacenado en la carpeta de la unidad E:
 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 10

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, inserta 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”, insertamos la siguiente instrucción:

Sub Sumarceldas( ) (luego presionar Enter)


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

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

i. Guardamos los cambios y regresamos a la Hoja10 de Excel.

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

k. Dibujamos un botón cuadrado que será el botón para la suma. Seleccionamos el botón,
clic en propiedades.

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

l. Nos mostrará la ventana “Propiedades”. Cambiamos los siguiente 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, nos mostrará plataforma VBA – Libro1. En la
ventana de “cmdsuma”, escribimos “sumarceldas”. Luego damos doble clic a
Operacionesmatemáticas

2
n. Repetimos la operación para la resta.

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.

o. Damos clic en (“B5”) y seleccionamos la opción Play.

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

p. Regresamos a Excel
q. En las celdas B2 y B3 insertamos dos valores al azar, damos clic en el botón suma y
comprobamos la suma.
r. Para detener la acción, estando en Excel nos dirigimos a VBA y seleccionamos la
opción de pausa o detención.
s. Realizar la misma operación para la resta, multiplicación y división:
 En el módulo Operacionesmatematicas, 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.

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

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

____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________

15

S-ar putea să vă placă și