Вы находитесь на странице: 1из 7

INSTITUCIÓN: COLEGIO NORTE DE SANTANDER Guía N° 01

Asignatura: Tema Grado Grupo Tiempo de Desarrollo Docente


Tecnología e Macros en Excel Once Once A 3 Horas Clase Anibal Rodríguez
Informática Deiby Velásquez T.
José Elice Villamizar
Objetivo Reconocer conceptos acerca de Qué son y para que se utilizan los Macros en Microsoft Excel.
General
Objetivo Buscar la motivación suficiente hacia la utilización y apropiación de herramientas de Microsoft Excel en el Uso, Diseño
Actitudinal y Programación de Macros.
Competencia Resuelvo problemas tecnológicos y evalúo las soluciones teniendo en cuenta las condiciones, restricciones y
especificaciones del problema planteado.

¡MACROS EN
MICROSOFT EXCEL!

Automatizar la calificación de estudiantes con un criterio


específico
Planteamiento: La calificación del alumno será el número de respuestas correctas menos una penalización en función al
número de respuestas incorrectas. Esta penalización consiste en que se restará 0,33 por cada respuesta incorrecta a
partir de la cuarta respuesta incorrecta (con ella incluida), y se restará 1 punto porcada respuesta incorrecta a partir de
la decimosexta respuesta incorrecta (con ella incluida).

1. Inserción de tabla de trabajo


Se trabajará con un Documento
en Excel que constará de 6
columnas:
• Código
• Nombres de Estudiantes
• Nº de respuestas correctas
• Nº de respuestas incorrectas
• Nº de respuestas en blanco
• Calificación

2. Apertura del programador


Debemos abrir el programador de Excel y acudir al apartado Visual Basic. Para ello, debemos habilitar el Programador
(Desarrollador) que no viene activado por defecto ¿Cómo lo activamos?:
 Abrimos la hoja de Excel, vamos al apartado Archivo/Opciones/Personalizar cinta de opciones.
 Activamos la opción Programador en Pestañas principales.
 Ahora podemos observar como en la cinta superior de opciones aparece Programador.
 Clicamos en Visual Basic.
 Una vez dentro, clicamos en Insertar/Modulo y ya podemos empezar a implementar nuestro código.
INSTITUCIÓN: COLEGIO NORTE DE SANTANDER Guía N° 01
Asignatura: Tema Grado Grupo Tiempo de Desarrollo Docente
Tecnología e Macros en Excel Once Once A 3 Horas Clase Anibal Rodríguez
Informática Deiby Velásquez T.
José Elice Villamizar
Objetivo Reconocer conceptos acerca de Qué son y para que se utilizan los Macros en Microsoft Excel.
General
Objetivo Buscar la motivación suficiente hacia la utilización y apropiación de herramientas de Microsoft Excel en el Uso, Diseño
Actitudinal y Programación de Macros.
Competencia Resuelvo problemas tecnológicos y evalúo las soluciones teniendo en cuenta las condiciones, restricciones y
especificaciones del problema planteado.

3. Declaración de variables
En primer lugar debemos crear variables para almacenar los datos que nos interesen y que posteriormente vayan a ser
utilizados. En este caso queremos almacenar el valor de las respuestas correctas, incorrectas así como el valor de la
penalización al resultado final.
Después declaramos las variables, Buenas y Malas almacenarán un valor entero porque simplemente guardarán el valor
de las respuestas correctas y falladas pero las variables Pen1, Pen2 y CALIFICACION almacenarán un valor decimal, dado
que las 2 primeras almacenarán el dato que debemos restar por la penalización establecida por el usuario en función al
número de fallos, mientras que la última acumulará el resultado final:

Dim Buenas As Integer


Dim Malas As Integer
Dim Pen1 As Single
Dim Pen2 As Single
Dim CALIFICACION As Single

4. Inicialización

Vamos a inicializar todas las variables declaradas dado que así


nos aseguramos que todas las variables se encuentren con un
valor 0.

5. Código para calificación de alumnos


Para continuar se deberá evaluar las filas en las que haya datos, de
manera que cuando la macro lea una línea en blanco responda
finalizándola.
For i = 1 To 200
If IsEmpty(Cells(i + 1, 2 + 3)) Then GoTo Salir
Se escribe el código que guardará las respuestas correctas e
incorrectas. Asumiendo que las respuestas estarán en las columnas
5 y 6 y que habrá encabezados en la primera fila.
Buenas = Cells(i + 1, 2 + 3).Value
Malas = Cells(i + 1, 3 + 3).Value
INSTITUCIÓN: COLEGIO NORTE DE SANTANDER Guía N° 01
Asignatura: Tema Grado Grupo Tiempo de Desarrollo Docente
Tecnología e Macros en Excel Once Once A 3 Horas Clase Anibal Rodríguez
Informática Deiby Velásquez T.
José Elice Villamizar
Objetivo Reconocer conceptos acerca de Qué son y para que se utilizan los Macros en Microsoft Excel.
General
Objetivo Buscar la motivación suficiente hacia la utilización y apropiación de herramientas de Microsoft Excel en el Uso, Diseño
Actitudinal y Programación de Macros.
Competencia Resuelvo problemas tecnológicos y evalúo las soluciones teniendo en cuenta las condiciones, restricciones y
especificaciones del problema planteado.

Ahora escribiremos el código con el que se calculará la penalización.


Esta penalización irá almacenada en 2 variables dado que existen dos tipos de
penalización, una que multiplica el número de respuestas incorrectas por 0,33 y otra que
multiplica por 1. Por tanto Pen1 será la variable que multiplica por 0,33 las respuestas incorrectas en el
rango [4,15] y Pen2 será la variable que multiplica por 1 las respuestas incorrectas en el rango [16-30].

If Malas > 3 And Malas < 16 Then


Pen1 = (Malas - 3) * 0.33
End If
If Malas > 15 Then
Pen2 = Malas - 15 Pen1 = 0.33 * 12
End If

Posteriormente vamos a escribir el resultado de la calificación ahora que ya tenemos almacenadas todas las variables
necesarias para calcularla.
El resultado se almacenará en la variable Calificación y se escribirá en la
columna Calificación dada en el fichero. La idea es que el resultado sea
expresado en un rango calificatorio del 1 al 10, por ello se divide entre 30, que
será el número de respuestas totales, y se multiplica por 10. Finalmente se
redondeará a dos decimales.
Calificacion = Buenas - Pen1 - Pen2
Cells(i + 1, 5 + 3).Value = WorksheetFunction.Round(Calificacion * 10 / 30, 2)

Como retoque estético de nuestra macro pintaremos de color rojo las celdas cuyo valor sea inferior a 5.
If Cells(i + 1, 5 + 3).Value < 5 Then
Cells(i + 1, 5 + 3).Interior.ColorIndex = 3
Else Cells(i + 1, 5 + 3).Interior.ColorIndex = 4
End If
Para acabar con cada iteración habrá que reiniciar las variables de
Penalización (Pen1 y Pen2).
Pen1 = 0
Pen2 = 0
Todas las funciones descritas anteriormente irán dentro de un bucle For con un número elevado de iteraciones de manera
que la finalización del bucle lo marca el condicional que si lee una celda en blanco finaliza la macro, no llegando nunca a
cumplirse las iteraciones especificadas.

Crea un Botón y lo asocias a la Macro Calificacion.


INSTITUCIÓN: COLEGIO NORTE DE SANTANDER Guía N° 01
Asignatura: Tema Grado Grupo Tiempo de Desarrollo Docente
Tecnología e Macros en Excel Once Once A 3 Horas Clase Anibal Rodríguez
Informática Deiby Velásquez T.
José Elice Villamizar
Objetivo Reconocer conceptos acerca de Qué son y para que se utilizan los Macros en Microsoft Excel.
General
Objetivo Buscar la motivación suficiente hacia la utilización y apropiación de herramientas de Microsoft Excel en el Uso, Diseño
Actitudinal y Programación de Macros.
Competencia Resuelvo problemas tecnológicos y evalúo las soluciones teniendo en cuenta las condiciones, restricciones y
especificaciones del problema planteado.

Ejercicio 2

Seguimos realizando una macro con la que unimos dos cadenas de texto albergadas en diferentes variables y que
posteriormente nos aparezcan por pantalla a modo de aviso.

En primer lugar tendremos que definir las variables y reservar un espacio en la memoria para ellas. Esto se realiza con la
palabra reservada Dim. La cual permitir definir dichas variables.

También estas variables se definirán como cadenas de texto con la palabra reservada String.
Dim Cadena1 As String
Dim Cadena2 As String
Una vez que hemos definido las variables vamos a darles un valor:
Cadena1 = “Hola”
Cadena2 = “Mundo”
Ahora vamos a unir ambas variables usando la función MsgBox, la cual permite obtener por pantalla una ventana
emergente con los argumentos que se le otorguen.

El símbolo & se usa para que se produzca la unión entre ambas cadenas de texto.
MsgBox Cadena1 & Cadena2

Recuerda que debes insertar un Botón por la Opción y después asociarlo a la Macro
“CadenadeTexto”.

Ejercicio 3
A continuación llevaremos a cabo una macro con un mayor grado de complejidad. Lo que se quiere explicares el uso del
condicional If/Else.
Vamos a ponernos en el caso real de que seamos profesores y se quieran evaluar 10 notas de alumnos, de manera que
la celda de al lado exprese si es aprobado y a su vez se coloree de verde si el valor es igual o superior a 5 o suspenso y
además se coloree de rojo si el valor de la celda es inferior 5.
INSTITUCIÓN: COLEGIO NORTE DE SANTANDER Guía N° 01
Asignatura: Tema Grado Grupo Tiempo de Desarrollo Docente
Tecnología e Macros en Excel Once Once A 3 Horas Clase Anibal Rodríguez
Informática Deiby Velásquez T.
José Elice Villamizar
Objetivo Reconocer conceptos acerca de Qué son y para que se utilizan los Macros en Microsoft Excel.
General
Objetivo Buscar la motivación suficiente hacia la utilización y apropiación de herramientas de Microsoft Excel en el Uso, Diseño
Actitudinal y Programación de Macros.
Competencia Resuelvo problemas tecnológicos y evalúo las soluciones teniendo en cuenta las condiciones, restricciones y
especificaciones del problema planteado.

En primer lugar vamos a ejecutar unas líneas de código que


generen notas aleatorias en 10 celdas de una misma columna que
estén comprendidos entre 1 y 10, por ello multiplicamos la función
Rnd por 10, y a su vez queremos que estas tengan solo 2
decimales por eso usamos la función
WorksheetFunction.Round que me permite redondear el
número a los decimales especificados en el argumento de la
función, en este caso 2:
For i = 1 To 10
Cells(i+1, 5).Value = WorksheetFunction.Round(Rnd * 10, 2)
Next i
Vamos a la siguiente fase del código, en esta fase vamos a analizar el valor en cada celda para comprobar si el valor es
superior o inferior a 5.
Por tanto, en primer lugar vamos a realizar un bucle que vaya evaluando cada una de las celdas y guardando el valor en
la variable CALIFICACION.
For j = 1 To 10
CALIFICACION = Cells(j+1, 5).Value
Y en función del valor de esta, se almacenarán en otra
variable el valor Aprobado o Suspenso, esto último lo
llevaremos a cabo con un condicional If/Else. De manera
que primero se evalúa la condición del If y si se cumple el valor
almacenado en la variable resultado será “Aprobado” de
otra manera si no se cumpliera la condición del If, el valor de
la variable resultado sería “Suspenso”.

Ahora insertamos el valor almacenado en la variable


CALIFICACION en la celda de la derecha.
Cells(j+1, 6).Value = resultado
Por último, coloreamos la celda de verde o rojo según
corresponda. Esto lo llevamos a cabo con una condición
que establece que si la variable resultado tiene
almacenado el valor “Aprobado” entonces la celda
cambiará a verde, y si no tuviera almacenado ese valor,

cambiará a rojo.
INSTITUCIÓN: COLEGIO NORTE DE SANTANDER Guía N° 01
Asignatura: Tema Grado Grupo Tiempo de Desarrollo Docente
Tecnología e Macros en Excel Once Once A 3 Horas Clase Anibal Rodríguez
Informática Deiby Velásquez T.
José Elice Villamizar
Objetivo Reconocer conceptos acerca de Qué son y para que se utilizan los Macros en Microsoft Excel.
General
Objetivo Buscar la motivación suficiente hacia la utilización y apropiación de herramientas de Microsoft Excel en el Uso, Diseño
Actitudinal y Programación de Macros.
Competencia Resuelvo problemas tecnológicos y evalúo las soluciones teniendo en cuenta las condiciones, restricciones y
especificaciones del problema planteado.

¡A DEMOSTRAR LO QUE
APRENDÍ!
Primero que todo debes ingresar a la Hoja de Cálculo Microsoft Excel y realiza las
siguientes Actividades.

Ejercicio 1.
Ver cómo funcionan los cuadros de decisión, los cuales son ventanas emergentes que
permiten almacenar valores elegidos por el usuario en distintas variables.
Vamos con un ejemplo sencillo para comprobar cómo funcionan estos cuadros de decisión.
Nos va a pedir insertar dos palabras en dos ventanas emergentes y posteriormente
aparecerán por pantalla ambas palabras juntas.
En primer lugar procedemos a la declaración de variables que vamos a usar:
Dim mensaje1 As String
Dim titulo1 As String
Dim Estandar1 As String
Ahora debemos definir los argumentos del cuadro de inserción de texto.

Mensaje1=”Escribe una palabra”


Titulo1=”Cuadro de texto”
Estandar1=”Hola”
La variable Mensaje1 es una cadena de texto que corresponderá al mensaje que aparezca en la ventana emergente, la
variable Titulo1 corresponderá al título de la ventana emergente, y la variable Estandar1 corresponde con una respuesta
predefinido que nos aparecerá de ejemplo para ingresar. Ahora vamos a escribir el código perteneciente a la función que
genera la ventana emergente, esta función es InputBox.

Respuesta1 = InputBox (Mensaje1, Titulo1, Estandar1)


Respuesta2 = InputBox (Mensaje1, Titulo1, Estandar1)

Aparecerán dos ventanas emergentes pidiéndonos que ingresemos una palabra en cada uno. Cada palabra que
ingresemos irá almacenada en cada variable. Para acabar queremos unir ambas palabras, esto se realiza con la función
&, Finalmente para que aparezcan en una ventana emergente, esto lo llevamos a cabo con la función MsgBox.
MsgBox Respuesta1 & Respuesta2

Ejercicio 2
Cambiar el formato del contenido de las hojas de cálculo. En este ejercicio vamos a cambiar a letra negrita, cursiva, a un
estilo de fuente “Times New Roman” y a un tamaño de letra 17 el contenido de las 10 primeras celdas de la primera
columna.
Para llevar a cabo esto en primer lugar seleccionamos las celdas que queremos modificar.
INSTITUCIÓN: COLEGIO NORTE DE SANTANDER Guía N° 01
Asignatura: Tema Grado Grupo Tiempo de Desarrollo Docente
Tecnología e Macros en Excel Once Once A 3 Horas Clase Anibal Rodríguez
Informática Deiby Velásquez T.
José Elice Villamizar
Objetivo Reconocer conceptos acerca de Qué son y para que se utilizan los Macros en Microsoft Excel.
General
Objetivo Buscar la motivación suficiente hacia la utilización y apropiación de herramientas de Microsoft Excel en el Uso, Diseño
Actitudinal y Programación de Macros.
Competencia Resuelvo problemas tecnológicos y evalúo las soluciones teniendo en cuenta las condiciones, restricciones y
especificaciones del problema planteado.

Range("A1:A10").Select
Escribimos el código que cambia a letra negrita a esas celdas.
Selection.Font.Bold = True
Escribimos el código que cambia a letra cursiva a esas celdas.
Selection.Font.Italic = True
Escribimos el código que cambia el estilo de letra a Times New Roman a esas celdas.
Selection.Font.Name = "Times New Roman"
Escribimos el código que cambia el tamaño de letra a 17 a esas celdas.
Selection.Font.Size = 17
Ahora vamos a resetear al formato de origen.
Range("A1:A10").Select
Escribimos el código que quita la letra negrita a esas celdas.
Selection.Font.Bold = False
Escribimos el código que quita la letra cursiva a esas celdas.
Selection.Font.Italic = False
Escribimos el código que cambia el estilo de letra a Calibri a esas celdas.
Selection.Font.Name = "Calibri"
Escribimos el código que cambia el tamaño de letra a 11 a esas celdas.
Selection.Font.Size = 11

¡Recuerda!

Debes Insertar un botón y asociarlo a la Macro que vayas a crear para desarrollar el Ejercicio 2.

“El Poder está en tus Manos, El Mundo Cambia si Tu Cambias”

Вам также может понравиться