Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LABORATORIO N° 14
Grupo: Ciclo:
Criterios de Evaluación Excelente Bueno Requiere No Puntaje
(4pts) (3pts) Mejora Acept. Logrado
(2pts) (0pts)
Identifica variables y utiliza operadores y
constantes
Utiliza la grabación de macros.
Seguridad:
Equipos y Materiales:
Procedimiento:
EJERCICIO N°1 – GRABACIÓN DE MACROS EN EXCEL
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
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í
1. Seleccione
Desarrollador
2. Click
Botón
Aceptar
Haga Clic en la ficha Desarrollador y vea las herramientas que vienen disponibles:
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”:
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
Del Panel izquierdo, denominado Proyecto, expanda el nodo Módulos y abra el archivo
Módulo1 para ver su contenido:
Sub m_borrar_celda()
'
' m_borrar_celda Macro
'
'
ActiveCell.FormulaR1C1 = ""
Range("B3").Select
End Sub
Sub m_calculo_porcentaje()
'
' m_calculo_porcentaje Macro
'
'
ActiveCell.FormulaR1C1 = "=+R[-1]C*19%"
Range("B3").Select
End Sub
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
Active la “Hoja 2” 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
'
'
Range("A1").Select
ActiveCell.FormulaR1C1 = "=RANDBETWEEN(1,10)"
Range("A1").Select
Selection.AutoFill Destination:=Range("A1:A9"), Type:=xlFillDefault
Range("A1:A9").Select
Selection.AutoFill Destination:=Range("A1:A10"), Type:=xlFillDefault
Range("A1:A10").Select
Range("B7").Select
End Sub
'
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("E3").Select
Rows("2:2").RowHeight = 27.8
Range("A2:E2").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent4
.TintAndShade = 0.799981688894314
.PatternTintAndShade = 0
End With
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
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
Sub m_graficos_barras()
'
' m_graficos_barras Macro
'
'
Sheets("Hoja4").Select
Range("A1:B13").Select
ActiveSheet.Shapes.AddChart2(286, xl3DColumnClustered).Select
ActiveChart.SetSourceData Source:=Range("Hoja4!$A$1:$B$13")
End Sub
Sub m_graficos_pie()
'
' m_graficos_pie Macro
'
'
Range("A1:B13").Select
ActiveSheet.Shapes.AddChart2(251, xlPie).Select
ActiveChart.SetSourceData Source:=Range("Hoja4!$A$1:$B$13")
End Sub
La diferencia que se logra encontrar es que las macros anteriores los códigos son
distintos en las dos ultimas se repiten con un ligero cambio
ENTER
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
1
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.
2
n. Damos clic en (“B5”) y seleccionamos la opción Play.
o. Regresamos a Excel
p. En las celdas B2 y B3 insertamos dos valores al azar, damos clic en el botón suma y
comprobamos la suma.
q. Para detener la acción, estando en Excel nos dirigimos a VBA y seleccionamos la
opción de pausa o detención.
r. Realizar las mismas 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.
End Sub
Sub descuentotardanza()
Dim Llegada, descuento As Integer
hora = ActiveCell.Value
Llegada = Minute(hora)
If Llegada > 8 Then
descuento = Llegada
MsgBox "Se le descontara" & descuento & "Minutos el dia de Hoy"
Else
MsgBox "Gracias por su Puntualidad"
End If
End Sub
a. Para esto cree un botón (al igual que en el laboratorio anterior) y nómbrelo
“descuentovolumen” y asígnele un nuevo macro llamado “descuentovolumen”.
b. ¿Qué es lo que
hace el programa?
3. En la hoja 3 nos encargaremos de crear dos macros que calculen ciertos beneficios
para los trabajadores
a. Toda el área comercial se desplaza constantemente para cubrir rutas según
zonas, los puestos de mando medio en adelante utilizan su movilidad propia y
los demás usan el transporte público para realizar este recorrido mensual.
b. Se asigna a cada uno un monto específico: Si el sueldo está por encima de los
2500 soles, el monto será de 600 soles. Si está por debajo de 2500 soles, el
monto será de 450 soles.
c. El cree un macro con el siguiente código, ubíquese en la celda donde desea
calcular la movilidad y ejecútelo.
d. Usando como referencia el código anterior cree un macro que permita calcular
la alimentación según las siguientes pautas.
Si el colaborador tiene un sueldo menor a 2000 soles se le cubre al
100% la alimentación en el concesionario de la empresa, por lo que el
beneficio es de 200 soles.
Si tiene un sueldo mayor a 2000 soles, la alimentación se cubre al 50%
por lo que el beneficio sería sólo de 100 soles. Saldría un mensaje con
la explicación del monto asignado.
Sub Cal_Almuerzo()
Dim sueldo As Integer
End Sub
Sub Cal_Almuerzo()
Dim sueldo As Integer
Else
ActiveCell = 200
End If
End Sub
2.7. Guardar los respectivos archivos con el nombre indicado y dentro de su carpeta
personal.
Conclusiones:
Indicar las conclusiones que llegó después de los temas tratados de manera práctica en este
laboratorio.