Está en la página 1de 19

EXCEL AVANZADO CON MACROS Nro.

DD-106
Página 1/19
Laboratorio – 03

TEMA: LENGUAJE VISUAL BASIC PARA APLICACIONES – VBA PARTE I

OBJETIVOS

 Identificar las estructuras de programación del lenguaje de programación Visual Basic para
Aplicaciones
 Identificar tipos de datos, variables y contadores
 Identificador los diferentes tipos de operadores
 Identificar las sentencias de decisión
 Identificar las sentencias de ciclos o bucles
 Identificar la estructura de las funciones definidas por el usuario
 Identificar las funciones de manejo de cadenas

REQUERIMIENTOS

 PC con 2 GB memoria RAM


 Microsoft Excel instalado

PROCEDIMIENTO
1. Lenguaje Visual Basic para Aplicaciones
Introducción
 La mayoría de lenguajes de programación poseen herramientas similares para la elaboración de los
programas que las personas debemos conocer de manera general
 A continuación mostramos una lista de los diferentes elementos que debemos aprender sobre cada
nuevo lenguaje de programación que deseamos conocer:
1. Estructura de un programa (Estructura de una macro)
2. Tipos de datos
3. Declaración y uso de Variables
4. Operadores: aritméticos, lógicos, relacionales, de asignación
5. Sentencias de decisión simple y múltiple
6. Bucles o ciclos
7. Cadenas de caracteres

1.1. Estructura de una macro en VBA


 Toda macro posee la siguiente estructura

Sub nombre_macro()

End sub

 Crear un libro nuevo de Excel habilitado para macros, con el nombre Lab_03 <nombre_apellido>
 Seguir la ruta siguiente y hacer clic sobre la opción Macros:

 En la ventana siguiente ingresar “borrar_contenido” como nombre de la nueva macro. Hacer clic en
el botón Crear.
1
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 2/19
Laboratorio – 03

 Una vez abierto el entorno de VBA, ingresar el código siguiente dentro del procedimiento
borrar_contenido que se ha creado: (notar que los mensajes Sub borrar_contenido() y End sub se
colocan automáticamente)

Sub borrar_contenido()
Selection.ClearContents
Selection.ClearFormats
End sub

 Comentar los resultados obtenidos

Luego de haber colocado “X” contenido y seleccionado respectivamente vemos que al ejecutar la
macros dicho contenido se elimina al instante.

Nota: Se recomienda trabajar los siguientes ejemplos en hojas de cálculo (etiquetas) distintas

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

1.2. Tipos de datos


 A continuación se muestra un resumen con los principales tipos de datos soportados en el lenguaje
VBA
Tipo de dato Tamaño Rango de valores
Boolean Depends on True o False
implementing
platform

Byte 1 byte 0 - 255 (sin signo)

Char 2 bytes 0 - 65535 (sin signo)

Date 8 bytes 0:00:00 (media noche) 1 de enero del 0001 - 11:59:59 PM del 31
de diciembre del 9999

Decimal 16 bytes Números reales con hasta 28 decimales de precisión

Double 8 bytes Números reales con 16 decimales de precisión

Integer 4 bytes -2,147,483,648 hasta 2,147,483,647 (enteros con signo)

Long 8 bytes -9,223,372,036,854,775,808 hasta 9,223,372,036,854,775,807


(entero largo con signo)

Object 4 bytes en Permite almacenar cualquier tipo de dato


plataforma 32-bit
8 bytes en
plataforma 64-bit

SByte 1 byte -128 hasta 127 (entero con signo)

Short (short 2 bytes -32,768 hasta 32,767 (entero con signo)


integer)

Single 4 bytes Números reales con 8 decimales de precisión

String Cadenas de Desde 0 hasta aproximadamente 2 billones de caracteres


caracteres Unicode

UInteger 4 bytes 0 - 4,294,967,295 (entero sin signo)

ULong 8 bytes 0 - 18,446,744,073,709,551,615 (entero largo sin signo)

UShort 2 bytes 0 - 65,535 (entero sin signo)

1.3. Declaración de Variables


 Las variables permiten almacenar valores dentro del código de las macros para poder manipular
diferentes valores utilizados durante la ejecución de un cálculo o proceso.
 Cada variable a ser utilizada en una macro debe ser declarada previamente indicando en dicho
momento el tipo de valores que podrá contener. Para ello se utiliza la siguiente sentencia:

Dim [nombre_variable] As [Tipo_de_dato]

3
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 4/19
Laboratorio – 03

 A continuación mostramos el ejemplo de una macro que declara diferentes tipos de variables

Sub m_variables()
Dim codigo As Integer
Dim nombre As String, fecha_nacimiento As Date
Dim salario As Double, casado As Boolean
End Sub

1.4. Asignación de valores a Variables


 Podemos asignar valores a las variables definidas en una macro a través del operador de asignación:
“ = ”
 Modifique el código de la macro “m_variables()” para asignar valores a las variables definidas

Sub m_variables()
Dim codigo As Integer
Dim nombre As String, fecha_nacimiento As Date
Dim salario As Double, casado As Boolean

codigo = 1001
nombre = "Juan Perez"
fecha_nacimiento = #8/20/1992#
salario = 2587.34
casado = True

End Sub

 También podemos copiar valores de variables a celdas de una Hoja Excel

Sub m_variables()
Dim codigo As Integer
Dim nombre As String, fecha_nacimiento As Date
Dim salario As Double, casado As Boolean

codigo = 1001
nombre = "Juan Perez"
fecha_nacimiento = #8/20/1992#
salario = 2587.34
casado = True

ActiveCell.Value = codigo
ActiveCell.Offset(0, 1).Value = nombre
ActiveCell.Offset(0, 2).Value = fecha_nacimiento
ActiveCell.Offset(0, 3).Value = salario
ActiveCell.Offset(0, 4).Value = casado

End Sub

 En el Excel active la Celda B2 de la Hoja 1 y ejecute la macro. Verifique que se obtenga la siguiente
salida:

4
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 5/19
Laboratorio – 03

 Anote a continuación los detalles que considere más importantes del ejercicio realizado:
Con esta MACROS podemos tener variables que cambiaran según la orden que le demos.

1.5. Operadores: aritméticos, lógicos, relacionales, de asignación


 A continuación mostramos un resumen con los principales operadores soportados en el lenguaje VBA
(para mostrar la respuesta puede hacer uso de la instrucción  MsgBox “La respuesta es: “& rpta)
OPERADORES ARITMÉTICOS
Operador Descripción Ejemplo
+ Suma Dim rpta As Integer
rpta = 142 + 20
- Resta Dim rpta As Integer
rpta = 142 - 20
* Multiplicación Dim rpta As Integer
rpta = 142 * 20
/ División real Dim rpta As Integer
rpta = 142 / 20
\ División entera Dim rpta As Integer
rpta = 142 \ 20
Mod Módulo o residuo de división Dim rpta As Integer
entera rpta = 142 mod 20
^ Potencia Dim rpta As Integer
rpta = 5 ^2

OPERADORES RELACIONALES O DE COMPARACIÓN


Operador Descripción Ejemplo
= Igual que Dim rpta As Integer
If ActiveCell.value = “ ” then rpta = 0
<> Diferente de Dim rpta As Integer
If ActiveCell.value <> “ ” then rpta = 1550
< Menor que Dim rpta As Integer
If ActiveCell.value < 20 then rpta = 2500
<= Menor o igual que Dim rpta As Integer
If ActiveCell.value <= 25 then rpta = 3000
> Mayor que Dim rpta As Integer
If ActiveCell.value > 25 then rpta = 4000
>= Mayor o igual que Dim rpta As Integer
If ActiveCell.value >= 30 then rpta = 4500

5
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 6/19
Laboratorio – 03

OPERADORES LÓGICOS
Operador Descripción Ejemplo
And Evalúa si dos condiciones son Dim rpta As Boolean
verdaderas rpta = casado And (edad > 30)
Or Evalúa si una de dos condicio-nes Dim rpta As Boolean
es verdadera rpta = casado Or (edad > 30)
Xor Evalúa si una de dos condicio-nes Dim rpta As Boolean
es verdadera y la otra es falsa rpta = casado Xor (edad > 30)
Not Niega el valor de una expresión Dim rpta As Boolean
lógica rpta =not casado

OPERADOR DE CONCATENACIÓN
Operador Descripción Ejemplo
& Concatena dos expresiones Dim rpta As String
rpta = nombre & codigo
 Implementar una macro en Excel denominada m_calculos_aritmeticos() que realice operaciones
aritméticas con los valores ingresados en las celdas A1 y B1 de su hoja actual y coloque los resultados
en las celdas B2 (Suma), B3 (Resta), B4 (Producto), B5 (Cociente), B6 (Cociente entero), B7 (Residuo),
B8 (Potencia de A1 ^ 2). A continuación se muestra el código requerido

Sub m_calculos_aritmeticos()
Dim a As Integer, b As Integer

a = Range("A1").Value
b = Range("B1").Value

Range("A2").Value = "Suma:"
Range("B2").Value = a + b

Range("A3").Value = "Resta:"
Range("B3").Value = a - b

Range("A4").Value = "Producto:"
Range("B4").Value = a * b

Range("A5").Value = "Cociente:"
Range("B5").Value = a / b

Range("A6").Value = "Cociente entero:"


Range("B6").Value = a \ b

Range("A7").Value = "Residuo:"
Range("B7").Value = a Mod b

Range("A8").Value = "Potencia:"
Range("B8").Value = a ^ 2

End Sub

 Ingrese números en las celdas A1 y B1, ejecute la macro y verifique los resultados generados

6
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 7/19
Laboratorio – 03

1.6. Sentencias de decisión


Sentencia de decisión simple: IF – THEN – ELSE – END IF
 A continuación mostramos la sintaxis de la sentencia IF

1. If Condicion Then sentencia

2. If Condicion then
Sentencia
...
End If

3. If Condicion then
Sentencia
...
Else
Sentencia
...
End If

Ejemplo 1. Implementar una nueva macro denominada m_decision_simple() con el siguiente código:

Sub m_decision_simple()
Dim a As Integer, b As Integer

a = Range("A1").Value
b = Range("B1").Value

If a < 50 Then Range("c2").Value = "Menor de 50"

If a < 50 And b < 50 Then


Range("C3").Value = 2 * a
Range("D3").Value = 2 * b
End If

If a = b Then
Range("C4").Value = "Los valores son iguales"
Else
Range("C4").Value = "Los valores son diferentes"
End If
End Sub

 Ingrese números en las celdas A1 y B1, ejecute la macro y verifique los resultados generados

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

S
Ejemplo 2. En una nueva hoja de cálculo ingrese los siguientes datos:

 Cree una nueva macro “descuentotardanza”, esta macro se encarga de determinar si un


trabajador llego a tiempo o llegó tarde, de acuerdo al siguiente código (si ve por conveniente
puede crear un botón de comando para ejecutar la macro):

Dim llegada, descuento As Integer


hora = ActiveCell.Value
llegada = Minute(hora)
If llegada > 10 Then
descuento = llegada - 5
MsgBox "Se le descontará " & descuento & " minutos el día de hoy"
Else
MsgBox "Gracias por su puntualidad"
End If

o Guarde los cambios y regrese a la hoja de cálculo de Excel

o Haga clic sobre cualquier celda que contenga la hora y ejecute la macro ¿Qué es lo que
hace la macro?

Esta Macro nos brinda un mensaje indicando el tiempo que se le va a descontar en minutos.
….Se le descontara 2 minutos el dia de hoy

o Cambie una hora de llegada a las 08:09 horas y ejecute nuevamente la macro sobre esa
hora. ¿Qué resultado obtiene?
Brinda un mensaje … Gracias por su puntualidad.

o Modifique la macro para que aplique la tardanza a los 5 minutos después de las 08:00.
Ejecute la macro y muestre los nuevos resultados.

Ejemplo 3. En una nueva hoja se generará una macro la cual permita hacer descuentos en el precio
de un producto dependiendo del volumen de la compra (mientras más unidades compren, mayor
será el descuento). Ingresar los siguientes datos:

8
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 9/19
Laboratorio – 03

a. Cree un botón de comando


b. Active sus propiedades
c. Cambie name a “cmddescuentovolumen”.
d. Cambie caption según su criterio.
e. Haga doble clic sobre el botón creado e ingrese el siguiente código:

Dim cantidad1 As Double


Dim cantidad2 As Double
Dim cantidad3 As Double
Dim precio1 As Double
Dim precio2 As Double
Dim precio3 As Double
Dim precio4 As Double
Dim unid As Double

cantidad1 = Range("a2")
cantidad2 = Range("a3")
cantidad3 = Range("a4")
precio1 = Range("b2")
precio2 = Range("b3")
precio3 = Range("b4")
precio4 = Range("b5")
unid = Range("b8")

If unid <= cantidad1 Then


Range("b9") = precio1
Range("b10") = precio1 * unid
ElseIf unid <= cantidad2 Then
Range("b9") = precio2
Range("b10") = precio2 * unid
ElseIf unid <= cantidad3 Then
Range("b9") = precio3
Range("b10") = precio3 * unid

9
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 10/19
Laboratorio – 03

Else
Range("b9") = precio4
Range("b10") = precio4 * unid
End If

f. Regrese a la hoja de Excel.


g. Ingrese una cantidad de unidades a comprar en la celda B8 y haga clic encima del botón de
comando.
h. ¿Qué es lo que hace la macro?

La macro sigue los limites puestos, si se compran 999 unidades pues el precio que le asigna
es de 10 y s u precio total lo saca multiplicando las unidades por el precio asignado. Si las
unidades pasan los 10000 le da el precio indicado de 8 y saca su precio total de la misma
forma multiplicando unidades por precio.

Ejemplo 4. En una nueva hoja de cálculo nos encargaremos de crear dos macros que calculen ciertos
beneficios para los trabajadores: (para la ejecución de las macros puede crear botones de comando)

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

 Se asigna a cada uno un monto específico: Si el sueldo está por encima de los 2500 soles,
el monto asignado será de 600 soles. Si está por debajo de 2500 soles, el monto será de
450 soles.
 Cree una macro (calc_movilidad) con el siguiente código:

Dim sueldo As Integer


sueldo = Cells(ActiveCell.Row, ActiveCell.Column - 1).Value
If sueldo >= 2500 Then
ActiveCell = 600
Else
ActiveCell = 450

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

End If

o Guarde los cambios y regrese a la hoja de Excel.


o Ubíquese en la celda donde desea calcular la movilidad para el primer empleado y ejecute
la macro.
o Compruebe el funcionamiento de la macro y asigne el monto de movilidad para cada
empleado.

o Usando como referencia el código anterior, cree una nueva macro (nombre según su
criterio), la 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. Generar una ventana de mensaje (MsgBox) mostrando, como mensaje, la
explicación del monto asignado.
o Indique a continuación el código creado de la macro

Sentencia de decisión múltiple: SELECT – CASE – END SELECT


 A continuación mostramos la sintaxis de la sentencia SELECT
Select Case <variable_a_evaluar>
Case valor1
sentencias
Case valor2, valor3, valor4
Sentencias
Case valor_m to valor_n
Sentencias
Case Else
Sentencias
End Select

 Implementar una nueva macro denominada m_decision_multiple() con el siguiente código:

Sub m_decision_multiple()
Dim a As Integer

a = Range("A1").Value

Select Case a
Case 0 To 10
Range("E2").Value = "Desaprobado"
Case 11 To 12
Range("E2").Value = "Regular"
Case 13 To 16
Range("E2").Value = "Bueno"
Case 17 To 19
Range("E2").Value = "Excelente"
Case 20
Range("E2").Value = "Sobresaliente"
Case Else
Range("E2").Value 11= "No aplica"
End Select
End Sub
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 12/19
Laboratorio – 03

 En la hoja de cálculo activa ingrese un valor en la celda A1, ejecute la macro y verifique los resultados
generados

 Con esta instrucción, resuelva el Ejemplo 3 de la anterior sección. Indique a continuación el código
generado.

1.7. Bucles o Ciclos


Bucle For Next
 A continuación mostramos la sintaxis del bucle For Next
For variable = Inicio To Final [Step incremento]
sentencias
[Exit For]
sentencias
Next [variable]

 Implementar una nueva macro denominada m_bucle_for_each() que rellene el rango de celdas
seleccionadas con valores enteros pares iniciando en el valor 100. A continuación se indica el código :
Sub m_bucle_for_each()
Dim contador As Integer
contador = 100
For Each celda In Selection.Cells
celda.Value = contador
contador = contador + 2
Next
End Sub

 Ejecute la macro y verifique los resultados generados


 Seleccione luego, en otra columna, desde la fila 1 hasta la 100.
 Ejecute nuevamente la macro y verifique los resultados generados.
 Anote los detalles más importantes del ejercicio anterior

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

 Implementar una nueva macro denominada m_bucle_for() que genere una tabla de multiplicar. A
continuación se indica el código :

Sub m_bucle_for()
Dim contador As Integer
Range("A1").Value = "Tabla de multiplicar del 5"
For contador = 1 To 12
Cells(contador + 1, 1).Value = 5
Cells(contador + 1, 2).Value = "x"
Cells(contador + 1, 3).Value = contador
Cells(contador + 1, 4).Value = "="
Cells(contador + 1, 5).Value = 5 * contador
Next contador
End Sub

 Ejecute la macro y verifique los resultados generados

 En una nueva etiqueta cree una nueva macro denominada m_bucle_for1


 Ingresar en la ventana de código correspondiente lo siguiente:

 Guarde los cambios y regrese a Excel.


 Ejecute la macro y comente los resultados
 Haga los cambios necesarios para que se muestren los resultados en la columna D

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

 En una nueva hoja de cálculo, cree una nueva macro con nombre m_bucle_for2
 Ingresar en la ventana de código que corresponde lo siguiente:

 Guarde los cambios y regrese a Excel.


 Ejecute la macro y comente los resultados
 ¿Cómo se pueden tener los resultados en filas sucesivas?

 En una nueva hoja de cálculo, Implementar una nueva macro denominada m_bucle_for3. A
continuación se indica el código
For CONTADOR = 10 To 1 Step -1
fila = CONTADOR
Cells(fila, 3) = CONTADOR
Next

 Guarde los cambios y regrese a Excel


 Ejecute la macro y verifique los resultados generados
 Anote los detalles más importantes del ejercicio anterior

El código nos permite tener una lista de números del 1 al 10, la diferencia es
que va restando del 10 hasta llegar al 1.
Se colocó la información en la columna C según el código: Cells (fila, 3 )=
CONTADOR

 En una nueva hoja de cálculo, implementar una nueva macro denominada m_bucle_for4. A
continuación se indica el código

For CONTADOR = 10 To 100


If CONTADOR = 49 Then
MsgBox "El contador ha llegado al número " & CONTADOR
Exit For
End If
Next

 Guarde los cambios y regrese a Excel


 Ejecute la macro y comente los resultados generados
 Haga los cambios para que la macro muestre un mensaje específico cuando el contador llegue a 20,
otro mensaje cuando llegue a 50 y otro mensaje cuando llegue a 90.
14
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 15/19
Laboratorio – 03

 Anote los detalles más importantes del ejercicio anterior

El código muestra al contador el que procesa un determinado numero de datos .


Vemos la repetición de 20 ,50 y 90 respectivamente.

Bucle Do While | Until Loop


 A continuación mostramos la sintaxis del bucle Do Loop

Do [{While | Until} condicion]


Sentencias
[Exit Do]
Sentencias
Loop

 Implementar una nueva macro denominada m_bucle_do_while() que genere una tabla de
multiplicar. A continuación se indica el código :
Sub m_bucle_do_while()
Dim contador As Integer
contador = 1
Range("A1").Value = "Tabla de multiplicar del 7"
Do While contador <= 12
Cells(contador + 1, 1).Value = 7
Cells(contador + 1, 2).Value = "x"
Cells(contador + 1, 3).Value = contador
Cells(contador + 1, 4).Value = "="
Cells(contador + 1, 5).Value = 7 * contador
contador = contador + 1
Loop
End Sub

 Ejecute la macro y verifique los resultados generados


 Anote los detalles más importantes del ejercicio anterior
El código genero una tabla de multiplicar del 7 , se colocaron respectivamente los valores para
cada columna, finalmente en la columna 5 gracias a una serie de códigos se encuentra el
resultado.

 Implementar una nueva macro denominada m_bucle_do_until() que genere una tabla de multiplicar.
A continuación se indica el código :
Sub m_bucle_do_until()
Dim contador As Integer
contador = 1
Range("A1").Value = "Tabla de multiplicar del 8"
Do Until contador = 13
Cells(contador + 1, 1).Value = 8
Cells(contador + 1, 2).Value = "x"
Cells(contador + 1, 3).Value = contador
Cells(contador + 1, 4).Value = "="
Cells(contador + 1, 5).Value = 8 * contador
contador = contador + 1
Loop
End Sub

15
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 16/19
Laboratorio – 03

 Ejecute la macro y verifique los resultados generados

1.8. Cadenas de caracteres


 En VBA se pueden trabajar con cadenas de caracteres declarando variables del tipo String
 A continuación se indica una lista de funciones que se pueden utilizar para el manejo de cadenas
FUNCIONES PARA MANEJO DE CADENAS
Función Descripción Ejemplo
Len Devuelve la longitud de una cadena Dim rpta As Integer
Dim nombre as String
Nombre = “Juan Perez”
rpta = Len( nombre )
UCase Devuelve el contenido de una cadena en Dim xmay As String
mayúsculas xmay = UCase( nombre )
LCase Devuelve el contenido de una cadena en Dim xmin As String
minúsculas xmin = LCase( nombre )
Left Devuelve una subcadena desde la Dim lcad As String
izquierda de una cadena lcad = Left(nombre,5)
Right Devuelve una subcadena desde la Dim rcad As String
derecha de una cadena rcad = Right(nombre,4)
Mid Devuelve una subcadena de cualquier Dim mcad As String
ubicación dentro de la cadena mcad = Mid(nombre,2,5)
InStr Devuelve la posición donde se encuentra Dim rpta As Integer
una subcadena dentro de una cadena rpta = InStr(nombre, "Per")
Str Convierte un numero a cadena Dim cad As String
cad = Str(123)
Val Convierte una cadena numérica a valor Dim rpta as Integer
numérico rpta = Val(cad)
Trim Elimina espacios en blanco ubicados al Dim cad as String
inicio o final de una cadena cad = Trim(nombre)
String Permite crear una cadena repitiendo un Dim cad As String
mismo character n veces cad = String(10,”A”)
Space Permite crear una cadena conformada Dim cad As String
por n espacios en blanco cad = Space(10)
 Implemente una macro denominada m_cadenas() que permita verificar el funcionamiento de las
principales funciones de manejo de cadenas indicadas en la tabla anterior. Anote el código usado.
Puede hacer uso de la instrucción MsgBox para mostrar los diversos resultados.

16
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 17/19
Laboratorio – 03

1.9. Ejercicio de Aplicación (Adicional)


 En una nueva hoja de su libro actual, implemente lo siguiente:

 Implemente una macro que enumere en forma correlativa las celdas B7 a B11.
 Implemente una macro que calcule el promedio de cada participante.
 Implemente una macro que asigne un resultado final a cada participante según la siguiente tabla:
Promedio Resultado
De 0 a 10 Malo
De 11 a 12 Regular
De 13 a 15 Bueno
De 16 a 18 Excelente
De 19 a 20 Sobresaliente
 Implemente una macro que determine la cantidad de alumnos aprobados y desaprobados y coloque
dichos valores en celdas disponibles de su hoja que Usted designe.
 Implemente una macro que genere una lista con los nombres de los alumnos aprobados. Usted
elegirá las celdas disponibles donde se visualizarán dichos datos (puede ser en una nueva etiqueta)
 Implemente una macro que genere una lista con los nombres de los alumnos desaprobados. Usted
elegirá las celdas disponibles donde se visualizarán dichos datos (puede ser en una nueva etiqueta)
 Implemente una macro denominada borrar_contenido() que borre todos los resultados obtenidos.
 Implemente una macro denominada m_general() que ejecute cada una de las macros creadas
anteriormente (excepto borrar_contenido() ), con la finalidad de ejecutar a través de ella todas las
tareas definidas en forma individual en cada macro.

17
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 18/19
Laboratorio – 03

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

18
EXCEL AVANZADO CON MACROS Nro. DD-106
Página 19/19
Laboratorio – 03

____________________________________________________________________________

19

También podría gustarte