Vous êtes sur la page 1sur 113

Ficha de Aprendizaje N° 1

Curso: Excel Advanced Macros

Módulo 1: Conceptos Iniciales

Tema: Macros: grabación y ejecución

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Planifica las acciones para grabar una macro.


 Realiza los pasos correctos para grabar una macro.
 Ejecuta una macro.

Conocimientos previos

Observa la siguiente imagen. ¿Sabías


que las macros nos permiten realizar
este tipo de tareas de manera rápida?

1
Recuerda:
Los archivos de
Excel que contienen
macros poseen la
extensión .xlsm.

Mapa de Contenidos

Las macros

permiten

Automatizar
tareas

para crearlas debes:

Planificar
Grabar Ejecutar
acciones

Contenidos de aprendizaje

I. Definición de una macro


Es una herramienta que permite automatizar tareas. Es decir, un usuario
podrá evitar la ejecución repetitiva de estas tareas, porque solo tendrá que
ejecutar la macro para poder realizarlas de forma automática.

2
II. Planificando las acciones que se graban en una macro

Una vez que tengamos una orden creada en una macro, esta realizará automáticamente los
pasos que le hayamos indicado que ejecute. Por ello es importante planificar previamente las
acciones por seguir. Para ello, en primer lugar, descarga de la plataforma el archivo
notas.xlsx:

En este archivo se encuentran registradas las notas de 40 alumnos de determinada sección.


Se necesita calcular por cada alumno cual es la máxima nota, la minima y el promedio de todas
las notas.

Además, cada fin de año se desea conocer el promedio de notas, así como la menor y mayor
calificación obtenida en el aula

3
En esta primera parte, vas a generar una macro que te permita obtener los cálculos mostrados
anteriormente.

Antes de empezar con la grabación


de una macro, debes planificar los
pasos que deseas que se registren
en ella.

En este caso, los pasos son los siguientes:


Celda de Inicio: A2
Paso 1: Realizar el cálculo del máximo de notas del primer alumno (celda H2).
Paso 2: Realizar el cálculo del mínimo de notas del primer alumno (celda I2).
Paso 3: Realizar el cálculo del promedio de notas del primer alumno (celda J2).
Paso 4: Realizar el cálculo de los máximos, mínimo y promedio de los demás
alumnos.
Paso 5: Realizar el cálculo de la máxima y mínima nota, y promedio de la clase.
Paso 6: Aplicar los formatos (fuente Arial, tamaño 12, color de fondo amarillo,
negritas) en las celdas A46, H46, I46 y J46.

III. Grabando una macro

Ahora debes seguir los pasos presentados a continuación para grabar la macro:

En la ficha Vista, ubica el botón Macro y,


en el menú desplegable, haz clic en la
opción Usar referencias relativas.

Ubícate en la celda
A2, desde donde se
iniciará la grabación
de la Macro.

4
Ubica y selecciona la
opción Grabar Macro.

Luego, ejecuta los pasos definidos en la etapa de planificación


Calcula la máxima nota
del rango D2:G2.

Calcula la mínima nota


del rango D2:G2.

Calcula el promedio
del rango D2:G2.

Realizar el calculo de los máximos, mínimo y promedio de los demás alumnos

Selecciona el
rango D2:G2
y arrastra el
mouse hasta
la fila 41.

5
5 Realizar el calculo de la máxima, mínima nota y promedio de la clase

Calcula la máxima Calcula la mínima nota Calcula el


nota del rango del rango I2:I41. promedio del
H2:H41. rango J2:J41.

Aplica los formatos en las


celdas A46, H46, I46 y J46.

Ya que has terminado, haz clic en Detener grabación.

IV. Ejecutando una macro

Para ejecutar la macro que creaste previamente, debes hacer lo siguiente:

Para el caso que estás trabajando, ubícate en la celda A5 de la hoja 2.

Ubícate en la celda
A2 de la hoja 2.

Ubica y selecciona la
opción Ver Macros.

6
Aplica lo aprendido

Aplicación 1.1
Crea una macro que de formato a la cabecera del listado de notas.

Aplicación 1.2
Crea una macro que calcule el promedio y elimine la menor de 5 evaluaciones.

7
Ficha de Aprendizaje N° 2

Curso: Excel Advanced Macros

Módulo 1: Conceptos Iniciales

Tema: Asignando botón a una macro

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Asigna un botón a una macro para lograr una ejecución mas sencilla.
 Configura la seguridad de una macro para lograr ejecutarla.

Conocimientos previos

¿Qué método crees que sea más


práctico para ejecutar una macro?
Comenta con tus compañeros.

1) Menú Vista / Macros/Ver 2) Combinación de


Macros y clic en Ejecutar teclas: Ctrl + Y

1
Mapa de Contenidos

Las macros

se

pueden usar modifica la


botones seguridad

para para

Ejecutarlas

Contenidos de aprendizaje

I. Activando la ficha Programador

Para la creación y manejo de macros avanzadas, Excel posee un conjunto de herramientas


ubicadas en una ficha llamada Programador. Esta no se encuentra disponible dentro de la
instalación básica de Excel. Para activarla, debes hacer lo siguiente:

1
Haz clic en el
Botón de Office.

2
2 Haz clic en las
Opciones de Excel.

3
Habilita la opción
“Mostrar ficha
Programador en la cinta
de opciones”.

Se activará la ficha Programador dentro de la cinta de opciones de Excel. En ella podremos


encontrar opciones para editar las macros, insertar nuevos controles, entre otras opciones.

3
II. Asignando a un botón una macro

En primer lugar, descarga de la plataforma el archivo edad.xlsx.

Este archivo contiene una macro que permite calcular tu edad a partir de tu fecha de
nacimiento. Para ejecutarla, debes ingresar tu nombre en la celda B1; luego, elige tu fecha de
nacimiento en la celda B3; por último, ejecuta la combinación de teclas Ctrl + Mayus + E. Si no
ingresas tu nombre, la macro te alertará y te pedirá que lo ingreses.

Asignar la macro a un botón


nos permitirá una ejecución
más sencilla.

A continuación, asignaremos la macro a un botón nuevo que crearemos dentro de la hoja de


cálculo. Para ello, debes hacer clic en la ficha Programador y seguir los pasos presentados a
continuación:

Utilizando el mouse
Ubica y
selecciona dibuja el botón en la
el siguiente posición que desees.
elemento.

4
3

Selecciona la macro que


deseas ejecutar y haz
clic en Aceptar.

Si deseas modificar el texto


predeterminado de un botón, solo debes
hacer clic derecho sobre él y escoger la
opción Modificar texto.

III. Ejecutando una macro desde un botón

Para ejecutar la macro que creaste previamente, basta con hacer clic en el botón Calcula Edad.

Hazlo tú mismo:

En el archivo notas_v2.xlsx, asigna un botón a la macro Calcula_Promedios y prueba su


ejecución. Coloca como texto del botón la palabra “Calcular”.

5
IV. Configurando la seguridad en las macros

En algunos casos, en Excel la seguridad de las macros es alta, lo cual hace imposible que
estas se puedan ejecutar. Si vas a ejecutar macros, deberás cambiar la configuración de
seguridad. Para ello, debes hacer lo siguiente:

Ubica y selecciona la
siguiente opción.

2 Selecciona esta
opción.

Haz
3
clic
aquí.

Aplica lo aprendido

Aplicación 1.3
Crea una macro que genere una tabla dinámica.

Aplicación 1.4
Asigna a un botón la macro creada en la aplicación anterior.

6
Ficha de Aprendizaje N° 3

Curso: Excel Advanced Macros

Módulo 1: Conceptos Iniciales

Tema: Conociendo el editor VBA

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Reconoce las funciones de Visual Basic


 Identifica las herramientas del entorno de VBA

Conocimientos previos

¿Qué elementos (controles)


puedes identificar en el
siguiente formulario?

1
Mapa de Contenidos

Visual Basic para


aplicaciones
(BVA)
es un

Lenguaje de A través Editor


programación del

se pueden

escribir y editar
crear formularios
programas

que son
aplicaciones con
interfaz gráfica

Contenidos de aprendizaje

I. Visual Basic para Aplicaciones (VBA)

VBA es un lenguaje de programación estructurado creado para ser utilizado dentro de


programas de Microsoft Office. Por ello, una macro de VBA no puede ejecutarse
independientemente del Excel.

Terminología de VBA

Al trabajar con Visual Basic para aplicaciones, será necesario que conozcas el significado de
algunos términos importantes tales como “aplicación”, “tiempo de diseño”, “tiempo de
ejecución”, “formulario”, “objetos”, “propiedades”, “métodos” y “eventos”.

a. Aplicación

Es el programa que has desarrollando utilizando las herramientas de VBA.

b. Tiempo de diseño

2
Es el momento en que se está diseñando la aplicación.

c. Tiempo de ejecución

Es el momento en que estás ejecutando la aplicación.

d. Formulario

Es el área en donde se colocan los objetos gráficos para la aplicación.


Por ejemplo:

e. Objetos

Un objeto es una denominación común a cualquier elemento de una aplicación; por


ejemplo, una hoja de cálculo, una celda, un formulario, un control, entre otros.

f. Propiedades

Son las características de un objeto.

g. Eventos
Es una notificación de que algo ha ocurrido con el objeto. Son respuestas a acciones
del usuario; por ejemplo, pulsar teclas, hacer clic, doble clic o elegir opciones de un
menú.

En VBA se pueden producir dos tipos de eventos: los eventos iniciados


por el usuario y los iniciados por el sistema.

h. Métodos

3
Son las acciones que un objeto puede realizar, generalmente como respuesta a un
evento.

Observa la relación de los distintos términos en el cuadro:

II. El editor de VBA

El Editor de Visual Basic (VBE, por sus siglas en inglés) contiene todas las herramientas de
programación necesarias para escribir y editar programas que, luego, podrás ejecutar en tu
libro de trabajo de Excel.

Para ingresar al editor de VBA, debes hacer clic en el ícono que está ubicado dentro de la
sección Código de la ficha Programador.

Esta es la ventana que se presenta al ingresar al editor de VBA:

Una vez dentro del editor, podrás agregar los elementos y utilizar las herramientas necesarias
que te permitan desarrollar tu aplicación o programa en VBA.

4
Aquí puedes ver los principales elementos del editor de VBA:

Barra de menú

Proporciona las herramientas necesarias para desarrollar, probar y archivar la aplicación.

Barra de herramientas

Permite activar las tareas más comunes sin necesidad de utilizar los menús.

Explorador de proyectos (ventana de objetos)

Muestra un diagrama de árbol con los libros de trabajo


actualmente abiertos en Excel, donde cada libro es un proyecto.
Desde esta ventana, se puede añadir, seleccionar o eliminar los
objetos del proyecto.

III. Formularios

5
Un formulario es un contenedor en el que se colocan los controles
(etiquetas, cuadros de texto, cajas de verificación, botones de opción,
listas, etc.), y permite crear una aplicación con interfaz gráfica. Para crear
un nuevo formulario, se debe escoger la opción “UserForm” del menú
Insertar.

Luego de insertar un formulario, este se muestra en conjunto con el cuadro de herramientas.

Los elementos de un formulario son los siguientes:


La cuadrícula de
diseño permite
alinear los controles
fácilmente, al mismo
tiempo que diseña
su interfaz.

Cuadro de Herramientas

Se utiliza para dibujar y diseñar controles dentro del formulario.

6
Por ejemplo, para dibujar un botón dentro del formulario, se debe seguir los siguientes pasos:

Haz clic en la opción


“Botón de Comando” del
cuadro de herramientas.

2 Utilizando el mouse,
dibuja un rectángulo
dentro del formulario.

3
El botón se mostrará en
la región dibujada.

La ventana de propiedades

Una propiedad es una característica de un objeto como su nombre o color. A través de esta
ventana, se configuran las propiedades en tiempo de diseño.

7
¡Importante!

 Se asigna un nombre predeterminado a cada


uno de los controles existentes de un
formulario. Por ejemplo, el primer control Label
que se adicione al formulario se denominará
Label1; si se agrega otro del mismo tipo, se
denominará Label2 y así sucesivamente.

 La propiedad Name (o nombre), identifica un


control. Cuando un formulario tiene muchos
controles del mismo tipo, se puede utilizar la
propiedad nombre del control para
identificarlo.

A continuación, se coloca una lista con algunas de las propiedades más comunes de los
formularios.

 Backcolor: define el color de fondo del objeto.


 Name: es el nombre del objeto; este nombre servirá para identificarlo dentro de la
ventana de VBA.
 Caption: es el título del objeto y puede ser diferente de su nombre.
 Enabled: si se coloca “False”, el objeto no responderá a ningún evento y se mostrará
como deshabilitado dentro del formulario. Si el valor de la propiedad es “True”,
responderá a sus eventos asociados.
 Visible: permite mostrar u ocultar un objeto con las opciones True o False
respectivamente.
 Font: es el formato de fuente del texto que posee el objeto.

Por ejemplo, si deseas cambiar el título del botón dibujado anteriormente, basta con
seleccionar e ingresar un nuevo valor en la propiedad Caption, ubicada en la ventana de
propiedades

8
Área de programación

Es el lugar en donde se escribirá el código por utilizar para responder a cada evento. En ella se
distinguen dos secciones:

 Lista de objetos del


formulario (CommandButton,
TextBox, CheckBox, etc.).

 Lista de eventos del objeto


activo (Click, Dblclick,
KeyPress, Change,
MouseDown, etc.).

Para agregar un código al botón dibujado realiza los siguientes pasos:

Haz clic derecho en el


botón y escoge la opción
Ver código.

Ingresa el código
indicado en la imagen.

3 Escoge la opción
“Ejecutar
Sub/UserForm” del
menú Ejecutar.

9
3
Haz clic en el botón
Saludar.

Obtendrás el siguiente mensaje:

Aplica lo aprendido

Aplicación 1.5
Dibuja el formulario y coloca las propiedades que se indican en la imagen.

Aplicación 1.6
Ingresa código y ejecuta tu aplicación.

10
Ficha de Aprendizaje N° 4

Curso: Excel Advanced Macros

Módulo 1: Conceptos Iniciales

Tema: Primer programa utilizando Excel y VBA

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Crea una macro para escribir en una celda.


 Crea una macro para leer el contenido de una celda.

Conocimientos previos

¿Crees que sería útil leer los datos


desde las celdas de la hoja de cálculo
en lugar de solicitarlos a través de
un formulario?

1
Mapa de Contenidos

Las Macros

permiten
Programas crear

en VBA
para

escribir
Contenidos
y de celdas
leer a través de

botones

Contenidos de aprendizaje

I. Primer programa utilizando Excel y VBA


Aplicaciones (VBA)
Ahora verás cómo hacer un primer programa en VBA utilizando los datos de una hoja de
cálculo de Excel.

En primer lugar, vamos a insertar un botón. Este nos mostrará un mensaje con la palabra
“Hola”. El objetivo de este ejercicio es modificar la acción que se realiza al presionar un botón,
por ejemplo, emitir un saludo. Para ello, haz lo siguiente:

Abre una nueva hoja de cálculo en Excel y dibuja un botón dentro de ella. Luego,
coloca como título del botón “Saludar”.

2
2 Ahora, asigna el siguiente código al botón dentro del evento Click.

3 Guarda tu archivo como un libro de Excel habilitado para macros, y cierra el editor de
VBA.

4 Dentro de la hoja de cálculo, debes salir del modo Diseño y hacer clic en el botón
Saludar que creaste.

3
La instrucción MsgBox permite
mostrar una ventana emergente
acompañada de un texto
personalizado, el cual se indica
como parametro de la instrucción.

II. Utilizando una macro para escribir en celdas

Vamos a crear una macro que te permitirá modificar el contenido de una celda determinada.
Para ello, realiza los siguientes pasos:

Abre una nueva hoja de cálculo en Excel y dibuja un botón dentro de ella. Además,
coloca como título del botón “Escribir” y como nombre “cmdEscribir”.

Ahora, asigna el siguiente código al botón dentro del evento Click. Posteriormente,
2 guarda tu archivo como un libro de Excel habilitado para macros y cierra el editor de
VBA.

4
3 Dentro de la hoja de cálculo, debes salir del modo Diseño y hacer clic en el botón
“Escribir” que creaste.

La instrucción Range permite


modificar el contenido del rango de
celdas que se indiquen como
parametros.

III. Utilizando una macro para leer el contenido de celdas

Vamos a crear una macro que te permitirá leer el contenido de una celda determinada. Para
ello, realiza los siguientes pasos:

En la hoja de cálculo en Excel que has estado trabajando, dibuja un nuevo botón, cuyo
título será “Saludar” y cuyo nombre, “cmdSaludar”. Además, modifica el diseño de tu
hoja de cálculo para que se muestre de la siguiente manera:

5
Ahora, asigna el siguiente código al botón “cmdSaludar” dentro del evento Click.
2 Posteriormente, guarda tu trabajo y cierra el editor de VBA.

3 Dentro de la hoja de cálculo, debes salir del modo Diseño, ingresar tu nombre en la celda
B1 y hacer clic en el botón “Saludar” que creaste.

Los operadores “+” ó “&” permiten


concatenar dos o más valores del tipo
texto.

Aplica lo aprendido

Aplicación 1.7
Dibuja un nuevo botón que borre el contenido de la celda B2.

Aplicación 1.8
Modifica el botón saludar para que agregue al saludo el nombre y apellido.

6
Ficha de Aprendizaje N° 5

Curso: Excel Advanced Macros

Módulo 2: Fundamentos de programación

Tema: Algoritmos y diagramas de flujo

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Comprende el concepto de algoritmo.


 Identifica los símbolos de un diagrama de flujo.
 Realiza un diagrama de flujo.
 Realiza un pseudocódigo.

Conocimientos previos

Si tuvieras que organizar el viaje de


tu promoción. Enumera los pasos
que seguirías.

1 2 3 4 5 ...

1
Mapa de Contenidos

Los algoritmos

son un

conjunto de
pasos
para

resolver
problemas

a través de

Diagramas de flujo Pseudocódigos

Contenidos de aprendizaje

I. Algoritmos

Cotidianamente las personas nos enfrentamos a problemas que resolvemos realizando una
serie de pasos, procedimientos o acciones.

Por ejemplo:

Durante la mañana tenemos la labor de asistir al colegio; para lograrlo, podemos realizar las
siguientes tareas:

1) Despertar.

2) Tomar una ducha.

3) Cambiar de vestimenta.

4) Tomar desayuno.

5) Ingresar a la movilidad.

6) Salir de la movilidad.

7) Ingresar al aula de clases.

2
Concepto de algoritmo

Un algoritmo es un conjunto de pasos definidos y organizados que describen la secuencia


que se debe seguir para dar solución a un problema determinado.

El algoritmo debe ser legible, correcto, modular, eficiente,


ordenado, conciso y, de ser posible, debe desarrollarse en el
mínimo de tiempo.

Análisis del problema

Es recomendable hacer un breve análisis del problema antes de aplicar algún algoritmo para
poder resolverlo. Una forma simple de hacer esto es con una breve descripción utilizando el
lenguaje natural.

Por ejemplo:

Calcular el área de un triángulo rectángulo en función a la base y altura.

1. Descripción del problema: se desea calcular el área de un triángulo.


2. Datos que se necesitan para el cálculo (datos de entrada): base, altura.
3. Respuesta por obtener (datos de salida): área.
4. Fórmulas por aplicar: para calcular el área de un triángulo se aplica la siguiente fórmula:

Luego de analizar el problema, debes diseñar la solución.


Para ello se pueden utilizar técnicas o métodos estándar como
el uso de diagramas de flujo y pseudocódigos.

II. Diagramas de flujo


El diagrama de flujo se utiliza para visualizar una secuencia detallada de pasos por seguir para
resolver un problema. En este tipo de diagramas, se utilizan los siguientes símbolos.

Símbolos utilizados en los diagramas de flujo

3
Representación del símbolo Descripción

Inicio Fin Este símbolo marca el inicio y fin de un


diagrama de flujo.

Se utiliza para definir los datos de entrada.

Representa un proceso.

Representa una decisión (si algo se


cumple, seguir la S; si no fuera el caso,
seguir la N).

Símbolo utilizado para representar una


decisión múltiple. En su interior se
almacena una expresión condicional y,
dependiendo del valor de dicha expresión,
se sigue por uno de los caminos
alternativos.

Este gráfico representa la impresión de un


resultado.

Las flechas indican la dirección del flujo


del diagrama.

Por ejemplo: diagrama de flujo para calcular el área de un triángulo:


Inicio del algoritmo.

Inicia en 0 el valor de
Base y Altura.

Lee los valores de


Base y Altura.

Realiza el calculo del


área del triangulo.

Envía como salida el


valor de la variable
Área.

Termina el
algoritmo.
4
III. Pseudocódigo

Permite describir un algoritmo en un lenguaje simplificado sin depender de uno de


programación.

Por ejemplo:

a) Pseudocódigo para calcular el área de un triángulo:

b) Pseudocódigo para determinar si un número es par:

Inicio

Leer número.

Calcular el residuo del número entre dos.

Si residuo igual 0, el número es par.

En caso contrario, el número es impar.

Fin

Cualquier método de diseño o


representación de un algoritmo te permitirá,
más adelante, escribir un programa de
computadora en cualquier lenguaje de
programación.

5
Aplica lo aprendido

Aplicación 2.1
Realiza el diagrama de flujo de los problemas planteados.

Aplicación 2.2
Realiza el pseudocódigo de los problemas planteados.

6
Ficha de Aprendizaje N° 6

Curso: Excel Advanced Macros

Módulo 2: Fundamentos de programación

Tema: Datos y variables

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Reconoce las partes de un programa y comprende su estructura.


 Reconoce la diferencia entre los tipos de datos.
 Asigna datos a las variables

Conocimientos previos

¿A que operación crees que


pertenezca le siguiente diagrama de
flujo?

1
Mapa de Contenidos

Los programas

utilizan diferentes

se componen de tipos de
datos
declaración declaración
cabecera cuerpo
de constantes de variables
numérico
donde se define que son pueden recibir contiene las

valores que distintos instrucciones alfanumérico


el objetivo nunca valores para ejecutar
cambia
fecha/hora

lógicos

Contenidos de aprendizaje

I. Las partes de un programa


Un programa es un conjunto de instrucciones que se envían a una computadora para que
realice una o varias acciones. Se compone básicamente de las siguientes partes:

2
1. Cabecera del programa

Define el objetivo del programa comentándolo; es decir, se utiliza para documentar el


programa, lo que las personas suelen dejar en segundo plano. Dentro del comentario, se
incluye lo siguiente:
 Autor
 Versión actual
 Fecha del período de inicio o creación o de la última modificación del programa
 El objetivo del programa
 Otros detalles que ayuden a documentar el programa

Un comentario sirve para agregar texto dentro de un programa;


dicho texto no será condiserado como una instrucción dentro del
codigo.

En VBA, para colocar un comentario, solo debes anteponer el


carácter apóstrofe (') antes del comentario; así, por ejemplo:

‘Este es un comentario

Nota que el editor de VBA coloca el comentario en un color


verde.

2. Declaración de constantes

Como su nombre lo dice, una constante es un valor que nunca cambia. Para declarar una
constante, se utiliza la variable Const, siguiendo la sintaxis detallada a continuación:

Const nombre_de_constante = valor

Por ejemplo:

3
Const Pi = 3.1415

Recuerda que la constante debe tener un valor asignado.

3. Declaración de variables

Todo programa consta de variables, las cuales podrán cambiar de valor a lo largo de la
ejecución de un programa. Para poder declarar una variable, debes seguir la siguiente sintaxis:

Aquí tienes algunos ejemplos de declaración de variables:

Dim edad as Integer

Dim nombre as String

Dim resultado as Boolean

Integer, String y Boolean son tipos de


datos manejados por VBA. Más
adelante, revisaremos los conceptos
acerca del manejo de variables y tipos
de datos.

A diferencia de una constante, una variable puede recibir distintos valores. Por
ejemplo, si declaramos una variable llamada edad, en una ejecución puede adoptar
el valor 20; en otra, 30, y así indefinidamente.

Por el contrario, una constante recibe un valor desde su declaración, el cual no


cambiará.

4. Cuerpo del programa

Dentro de esta sección, se colocan las instrucciones que deseamos que ejecute el computador.
Pueden ser simples o complejas dependiendo de la aplicación que estás desarrollando.

Por ejemplo:
Área = (base * altura) /2

II. Tipos de datos

4
Al desarrollar un programa, muchas veces se manejan datos de diferentes tipos, tales como
números, letras, fechas u otros, los cuales dependen del valor que ellos representan.

Por ejemplo:

 Nombre de una persona  ¿Eres mayor de edad?

 Tipo de cambio del dólar  Porcentaje de IGV

VBA maneja los datos agrupándolos de acuerdo a los siguientes tipos:

1. Datos numéricos

Están conformados por los caracteres numéricos del 0 al 9 y los caracteres especiales “+”, “-“,
“( )”, “/”, “e” (formato científico).

Los principales tipos de datos numéricos son los siguientes:

 Byte: generalmente es utilizado para representar números naturales. Ocupa 1 byte


desde 0 hasta 255.

 Integer: generalmente es utilizado para representar números enteros. Ocupa 2 bytes y


puede tomar un valor desde -32,768 hasta 32,767.

 Long: generalmente es utilizado para representar números enteros largos. Ocupa 4


bytes y puede tomar un valor desde −2,147,483,648 hasta 2,147,483,647.

 Single: generalmente es utilizado para representar números reales. Ocupa 4 bytes y


puede tomar un valor desde -3,4028235E+38 hasta -1,401298E-45 para números
negativos, y desde 1,401298E-45 hasta 3,4028235E+38 para números positivos.

2. Datos alfanuméricos

Un dato alfanumérico es aquel que está formado solo por letras o por letras y números a la vez.

Puede ser solo un carácter (por ejemplo, “a”) o una cadena de caracteres, la cual está
conformada por más de un carácter (por ejemplo, “marco”, “A001”).
Para VBA, el tipo de dato alfanumérico es el String.

3. Datos fecha/hora

La fecha se almacena como números de serie y la hora, como fracciones de decimales. Esta
es la razón por la cual una fecha y hora pueden ser utilizadas para realizar operaciones de
cálculo.

5
Sin embargo, estos datos pueden ser presentados de acuerdo con el formato que sean
requeridos:

Fecha : DD/MM/AA o DD-MM-AA


Hora : HH:MM:SS AM/PM o HH:MM

Para VBA, este tipo de dato alfanumérico es el Date.

4. Datos lógicos

Permite usar variables que tienen dos posibles valores: verdadero o falso.
Por ejemplo:
 ¿Aprobaste el examen?
 ¿Sabes inglés?

Para VBA, el tipo de dato lógico es el Boolean.

Recuerda:

Dato Tipo
Numérico Byte, Integer, Long, Single
Alfanumérico String
Fecha/hora Date
Lógicos Boolean

III. Variables en VBA

Cuando un programa solicita el ingreso de un dato, este será almacenado en un espacio de


memoria de la computadora. A este espacio de memoria se le llama variable.

1. Declaración de variables

Para poder utilizar variables dentro de un programa, estas deben ser declaradas al inicio de
este con su respectivo nombre, tipo y con la sintaxis siguiente.

Por ejemplo:

a) Declaración de un tipo de dato entero:

Dim nota as Interger

6
b) Declaración de un tipo de dato lógico (boolean):

Dim aprobado as Boolean

c) Declaración de un tipo de dato texto:

Dim texto as String

Reglas para nombrar una variable:

 Se pueden usar letras, números y algunos caracteres de puntuación, pero


el primer carácter debe ser siempre alfabético.
 VBA no distingue entre mayúsculas o minúsculas; se recomienda seguir
un estándar para hacerlo legible.
 No se pueden usar espacios ni puntos.
 No se pueden usar algunos caracteres especiales como “#”, “$”, “%” o “!”.
 Los nombres pueden contener hasta 254 caracteres de longitud.
 Existen palabras reservadas tales como Dim, Date, Integer, If, entre
otras, las cuales no se pueden emplear para nombres de variables.

2. Asignando datos a las variables

Para asignarle un valor a una variable se usa el operador “=”. Por ejemplo:

Dim nombre as String

nombre=”marco”

Dim edad as Integer

edad =15

Para asignar un valor a una variable del tipo texto, se debe colocar
entre comillas dicho valor a la derecha del símbolo =.

Para asignar un valor a una variable numérica, basta con colocar dicho
valor a la derecha del símbolo =.

7
Aplica lo aprendido

Aplicación 2.3
Relaciona los datos numéricos según el tipo al que pertenezcan.

Aplicación 2.4
Identifica los distintos tipos de datos.

Aplicación 2.5
Escribe un código en VBA que calcule el área de un triángulo.

8
Ficha de Aprendizaje N° 7

Curso: Excel Advanced Macros

Módulo 2: Fundamentos de programación

Tema: Operaciones en VBA

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Identifica los tipos de operaciones que puede realizar en VBA.


 Resuelve operaciones combinadas utilizando código VBA.

Conocimientos previos

Recuerdas como resolver


operaciones combinadas. Desarrolla
el ejercicio que se presenta a
continuación y compara el
resultado con tus compañeros

1
Mapa de Contenidos

VBA
realiza

operaciones
de tipo

aritméticas lógicas de concatenación

con datos

Byte, Integer, String


Boolean
Long, Single

Contenidos de aprendizaje

I. Operaciones en VBA
Con VBA se puede realizar los siguientes tipos de operaciones, las cuales dependen de los
tipos de datos que tengan.

Operación Tipo de dato

Aritmética Byte, Integer, Long, Single

Lógica Boolean

Concatenación String

2
1. Operaciones aritméticas

Las operaciones aritméticas básicas que podemos realizar son suma, resta, multiplicación y
división. Entre los operadores aritméticos, tenemos:

Operador Ejemplo Tipo de operación Resultado

+ 5+2 Suma 7

- 5-2 Resta 3

* 5*2 Multiplicación 10

/ 5/2 División 2.5

^ 5^2 Exponente (“elevado a la”) 25

Mod 18 mod 7 Obtiene el residuo de una división. 4

Reglas para resolver operaciones aritméticas

• Las operaciones son evaluadas de izquierda a derecha.


• El orden de precedencia de los operadores es el
siguiente:
1. ()
2. ^
3. *, /
4. Mod
5. +, -

Por ejemplo, vamos a resolver, utilizando el código en VBA, la siguiente operación combinada:

Para ello, deberás descargar el archivo operadores.xlsx y asignar el siguiente código al botón
Resolver que se encuentra en la hoja de cálculo:

Declaramos una variable


para calcular el resultado.

3
2 Calculamos el valor de la
operación combinada.

3
Asignamos el valor
calculado a la celda B3.

Guarda tu archivo y presiona el botón Resolver. Tu trabajo debe verse así:

2. Operaciones lógicas

Se utilizan para establecer condiciones entre expresiones. Entre los operadores lógicos,
tenemos:

Operador Ejemplo Tipo de operación Resultado

And (5<2) and (3>8) Y (conjunción) Falso

Or (6>=4) or (2<1) O (disyunción) Verdadero

Not Not (2>1) NO (negación) Verdadero

4
3. Operaciones de concatenación

Se utiliza para unir textos.

Operador Ejemplo Tipo de operación Resultado

&o+ “Milagros ” & “Pérez” concatenación Milagros Pérez

Por ejemplo, descarga el archivo nombre.xlsx y asigna el siguiente código al botón Saludar:

Declaramos las variables.

2 Leemos los valores de


entrada.

3 Realizamos la
concatenación.

5
4
Mostramos el resultado a
través de una ventana
emergente.

Guarda tu trabajo y presiona el botón Saludar. Tu trabajo debe verse así:

Aplica lo aprendido

Aplicación 2.6
Resuelve las siguientes operaciones combinadas utilizando código VBA.

Aplicación 2.7
Concatena el nombre y edad de las personas en la lista mostrada.

6
Ficha de Aprendizaje N° 8

Curso: Excel Advanced Macros

Módulo 2: Fundamentos de programación

Tema: Formularios

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Elabora un formulario con los elementos que lo componen


 Asigna código a un botón para mostrar cálculos

Conocimientos previos

En la siguiente imagen, ¿qué


elementos del editor de VBA
recuerdas?.

1
Mapa de Contenidos

Los formularios en VBA

permiten recoger se crean con

Datos de
entrada Elementos de la
Caja de controles

como

Botones de
Etiquetas Cajas de texto
comando
para visualizar que permiten que permiten

texto no ingreso de ejecutar


editable información una orden

Contenidos de aprendizaje

I. Formularios en VBA

Ahora vas a realizar un programa utilizando un formulario, el cual permitirá recoger los datos de
entrada de una manera más amigable para el usuario.

Un formulario facilita la
comunicación directa
entre el usuario y el
programa.

Para dibujar un formulario en Excel, realiza los siguientes pasos:

2
Haz clic en la ficha
Programador; luego,
en la opción Visual
Basic

2
Haz clic en el
menú Insertar;
luego, en la
opción UserForm

Se mostrará el formulario y un cuadro de herramientas que permitirá dibujar diversos controles


en el formulario:

Antes de elaborar tu programa con formularios, debes conocer el uso de los principales
elementos de la caja de controles que puedes utilizar.

1. Etiquetas

Se utilizan para visualizar el texto que no se puede editar. De este modo, el usuario puede
reconocer otros controles.

3
Para dibujar una etiqueta dentro de un formulario en Excel, debes seguir los siguientes pasos:

Haz clic en el botón


Etiqueta del cuadro
de herramientas.

2 Dibuja la
etiqueta dentro
del formulario.

3 Modifica la propiedad
Caption del control “Label”
dibujado. Coloca como título
“Ingresa un número”.

Tu trabajo debe verse así:

4
2. Cajas de texto

Permite que el usuario ingrese una información a la aplicación y que esta sea visualizada por
él. Asimismo, sirven para mostrarle determinada información. Por lo tanto, se considera un
control de “entrada y salida de datos”.

Para dibujar una caja de texto dentro de un formulario en Excel, debes seguir los siguientes
pasos:

Haz clic en el botón


Cuadro de texto del
cuadro de herramientas.

2 Dibuja el cuadro
de texto dentro
del formulario.

3
Modifica la propiedad
nombre del control
“TextBox” dibujado.
Coloca como nombre
“txtNumero”.

Tu trabajo debe verse así:

Además, completa el formulario para que el trabajo luzca como se muestra:

5
3. Botones de comando

Permiten ejecutar una orden tal como realizar cálculos, validaciones, mostrar mensajes, entre
otras. Para dibujar una caja de texto dentro de un formulario en Excel, realiza los siguientes
pasos:

Haz clic en el botón


Botón de Comando del
cuadro de herramientas.

2 Dibuja el Botón
dentro del
formulario.

3
Modifica las propiedades:

Nombre: cmdCalcular

Caption: Calcular

6
Tu trabajo debe verse así:

Ahora asignaremos el código que permita mostrar el cálculo de la suma de los N primeros
números. Recuerda que la suma de los ”n” primeros números naturales obedece a la fórmula:

Haz clic derecho en el


botón Calcular y
escoge la opción Ver
código.

2
< Ingresa el siguiente
código dentro del
evento Click del botón
Calcular.

7
La funcion CInt permite convetir un
tipo de texto texto a un tipo Entero.

Guarda tu trabajo, ejecuta tu aplicación con el botón F5. Luego ingresa un número válido en el
cuadro de texto correspondiente y presiona el botón Calcular.

Aplica lo aprendido

Aplicación 2.8
Crea un formulario que solicite como datos de entrada la base y la altura de un triángulo
isósceles y devuelva como resultado el área.

Aplicación 2.9
Crea un formulario que convierta un valor de grados centígrados a grados Fahrenheit.

8
Ficha de Aprendizaje N° 9

Curso: Excel Advanced Macros

Módulo 3: Programación modular

Tema: Procedimientos

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Crea procedimientos que calculen diversas operaciones,

Conocimientos previos

Completa el siguiente diagrama de


flujo de un programa que permita
calcular el volumen de un cubo.

1
Mapa de Contenidos

Los subprogramas en
VBA
son un son de

conjunto de
Dos tipos
intrucciones

que permiten realizar

tarea específica Procedimientos Funciones

que realizan
tareas relacionadas.

Contenidos de aprendizaje

I. Subprogramas en VBA
La programación modular se basa en la filosofía de “divide y vencerás”; es decir, se divide el
problema planteado en problemas más simples, y cada uno de estos será implementado en
módulos independientes, los cuales, en el entorno de VBA, se conocen como subprogramas.

Un subprograma es un conjunto de instrucciones que permiten realizar una tarea específica.

En VBA existen dos tipos de subprogramas:

 Procedimiento
 Función

2
Procedimiento

Un procedimiento es una parte de un programa que realiza una o más tareas relacionadas y
que tiene su propio nombre. El procedimiento puede tener cero, uno o más argumentos
(parámetros de entrada) y se caracteriza por no poseer parámetros de salida.

Esta es la sintaxis para el uso de procedimientos en VBA:

Donde arg1, arg2, arg3, …, argn son los parámetros o argumentos del procedimiento.

Por ejemplo:

Procedimiento que usa una hoja de Excel y lee los datos necesarios para calcular el área de un
trapecio:

Invocando a un procedimiento

Invocar a un procedimiento se define como la llamada o uso que se hace a un procedimiento


desde alguna parte del programa. Esto lo puedes hacer de dos formas:

 1ra forma: NombreProcedimiento (arg1, arg2, arg3, …, argn)


 2da forma: Call NombreProcedimiento (arg1, arg2, arg3, …, argn)

Por ejemplo:

Elaboraremos un procedimiento que limpie los valores ingresados en un formulario. Para ello
realiza los siguientes pasos.

3
Diseña el siguiente
formulario.

Las propiedades de los controles son las siguientes:

Control Name Caption


Form frmArea Área de un trapecio
Label lblBaseMayor Base mayor
Textbox txtBaseMayor
Label lblBaseMenor Base menor
Textbox txtBaseMenor
Label lblAltura Altura
Textbox txtAltura
Command button cmdLimpiar Limpiar
Label lblArea Área
Textbox txtArea

Creamos un procedimiento
que coloque en blanco la
propiedad Text de las cajas
de texto.

Invocamos el
3 procedimiento en el
evento Click del
botón Limpiar.

4
4

Tu código debe lucir


de esta manera.

Guarda tu trabajo y presiona el botón Ejecutar. Luego, ingresa cualquier valor en los campos
de entrada y presiona el botón Limpiar. Tu trabajo debe verse así:

Para borrar el valor ingresado en un cuadro de texto, basta


con asignar una cadena de texto vacía (“”) a la propiedad
Text.

Por ejemplo

txtBase.Text = ""

5
Aplica lo aprendido

Aplicación 3.1
Crea un procedimiento que concatene el nombre y apellido. Los datos serán ingresados
en celdas de Excel y el resultado se mostrará en una ventana emergente.

Aplicación 3.2
Crea un procedimiento que calcule el promedio de 4 números. Los valores deben ser
ingresados en un formulario y el resultado se mostrará en una ventana emergente.

6
Ficha de Aprendizaje N° 10

Curso: Excel Advanced Macros

Módulo 3: Programación modular

Tema: Funciones

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Desarrolla programas con funciones propias y del editor de VBA.

Conocimientos previos

En el siguiente diagrama de flujo,


¿cuantos módulos crees que
conformen el programa? ¿Será
importante dividir el programa en
subprogramas más pequeños?

1
Mapa de Contenidos

Los subprogramas
en VBA

son de

Dos Tipos

Procedimientos Funciones

ingresan devuelven

argumentos un valor único

como como

entradas salida

Contenidos de aprendizaje

I. Funciones en VBA

Una función es un subprograma diseñado para realizar una tarea específica. Una función toma
una lista de valores de entrada llamados argumentos o parámetros, y devuelve un único valor
como salida.

c Al desarrollar un programa en VBA,


puedes crear tus propias funciones o
utilizar las funciones proporcionadas por
el editor de VBA y Excel.

Esta es la sintaxis para el uso de funciones en VBA:

2
Donde: arg1, arg2, arg3, …., argn son los parámetros o argumentos de la función.

Por ejemplo:
Parámetros
Función que calcula el promedio de 3 notas. de entrada

Palabra
reservada:
Function Salida de
la función
End
Function

Las funciones no pueden ser ejecutadas directamente desde


el editor de VBA. Para ello, es necesario definir un
procedimiento que las invoque.

Invocando a una función

Invocar a una función se define como la llamada o uso que se hace a una función desde dentro
de un subprograma. Para ello, debes digitar su nombre, sus argumentos entre paréntesis y,
finalmente, asignar el resultado a una variable.

variable_resultado = nombre_funcion(arg1, arg2, arg3,….., argn)

Por ejemplo, vamos a elaborar un programa que calcule el área de un trapecio.

El diseño será como se muestra a continuación:

Recuerda que en este caso


necesitamos insertar un
formulario en VBA.

3
El diagrama de flujo que representa el programa que se ejecutará en el formulario es el
siguiente:

Ahora vamos a escribir el código que calcule el área del trapecio. Para ello, realiza los
siguientes pasos:

Dibuja el formulario que


se muestra en la imagen.
No olvides modificar las
propiedades Name y
Caption de cada control.

En este caso, vamos a asignar los siguientes valores a las propiedades antes mencionadas:

4
Control Name Caption
Form frmArea Área de un trapecio
Label lblBaseMayor Base mayor
Textbox txtBaseMayor
Label lblBaseMenor Base menor
Textbox txtBaseMenor
Label lblAltura Altura
Textbox txtAltura
Command button cmdCalcular Calcular
Label lblArea Área
Textbox txtArea

2
Creamos una
función que calcule
el área del trapecio.

4
Leemos los datos
de entrada.

Invocamos a la
función que creamos
en el paso 2.

5
6
Asignamos a la
propiedad Text de
la caja de texto el
valor del resultado.

Para establecer el valor de salida de una función, se debe


escribir el nombre de la función y asignarle un valor o una
variable determinada. Por ejemplo:

Function areaTrapecio (baseMayor, baseMenor, altura) As Double

areaTrapecio = area

End Function

Guarda tu trabajo y presiona el botón Ejecutar. Tu trabajo debe verse así:

6
Aplica lo aprendido

Aplicación 3.3
Crea una función que calcule la raíz cuadrada de un número determinado.

Aplicación 3.4
Crea una función que permita resolver una ecuación de segundo grado tomando como
entrada los coeficientes.

7
Ficha de Aprendizaje N° 11

Curso: Excel Advanced Macros

Módulo 3: Programación Modular

Tema: Funciones predefinidas: texto

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Comprende las diferencias entre los tres grupos de funciones.


 Asigna funciones de texto a un botón.
 Conoce funciones más importantes para el manejo de cadenas de texto.

Conocimientos previos

Si tuvieras el siguiente texto ¿Cómo


determinarías la cantidad de
caracteres que la componen?
Comenta tu opinión en clase.

Dim cadena as String

cadena = “Excel Avanzado”

1
Mapa de Contenidos

VBA

tiene incorporadas

FUNCIONES
PREDETERMINADAS

que se dividen en

FUNCIONES DE CADENA DE FUNCIONES FUNCIONES DE FECHA Y


TEXTO MATEMÁTICAS HORA

Para trabajar con


Un conjunto de caracteres
numéricos y alfanuméricos.

Contenidos de aprendizaje

I. Funciones Predefinidas en VBA

Son aquellas funciones que vienen incorporadas en VBA y que puedes utilizar o invocar desde
dentro de tus subprogramas cuando lo necesites.

Estas funciones se dividen en tres grandes grupos:

 Funciones de cadena de texto


 Funciones matemáticas
 Funciones de fecha/hora

2
1. Funciones de cadena de texto

Una cadena de texto es un conjunto de caracteres numéricos y/o alfanuméricos.

Por ejemplo:
Recuerda que el valor de
 “hola, mundo” una cadena de texto debe
 “AIV-261” ir entre comillas (“ “).
 “12345”

Por ejemplo, abre un nuevo archivo de Excel y dibuja un botón.

Asigna el siguiente código:

Declaramos una variable


del tipo String también
llamado Cadena de textos,

2
Asignamos un
valor a la variable,

3
Enviamos la
variable a la salida.

3
Guarda tu trabajo y presiona el botón anteriormente creado. Deberás obtener el siguiente
mensaje:

Posición de un carácter en una cadena

Se denomina posición de un carácter en una cadena al lugar que ocupa comenzando a contar
a partir de uno.

Por ejemplo:
Cadena V i s u a l B a s i c
Posición 1 2 3 4 5 6 7 8 9 10 11 12

A continuación conocerás las funciones más importantes para el manejo de cadenas de texto.

LEFT (cadena, n)
Devuelve los “n” primeros caracteres de una cadena a partir de la izquierda. Por ejemplo:

Salida

4
RIGHT (cadena, n)
Devuelve los últimos “n” caracteres. Por ejemplo:

Salida

MID (cadena, m, n)
Extrae ‘n’ caracteres a partir de la posición ‘m’. Por ejemplo:

Salida

LEN (cadena)
Devuelve la longitud de la cadena, es decir la cantidad de caracteres de la que esta
compuesta. Por ejemplo:

Salida

5
TRIM (cadena)
Omite los espacios al lado izquierdo y/o derecho de una cadena, pero no borra los espacios
dentro de esta. Por ejemplo:

Salida

También existen funciones que permiten realizar conversiones entre tipos de datos, como
convertir un formato tipo número a uno tipo texto o viceversa.

STR (numero)
Convierte un número a una cadena de caracteres. Por ejemplo:

Salida

6
VAL (cadena)
Convierte una cadena de caracteres, que contenga solo números, a su correspondiente valor
numérico. Por ejemplo:

Salida

Aplica lo aprendido

Aplicación 3.5
Crea un formulario que genere un código a partir de los datos ingresados.

Aplicación 3.6
Crea un formulario que indique cuantas letras tiene una frase determinada sin contar los
espacios en blanco anteriores o posteriores a dicha frase.

7
Ficha de Aprendizaje N° 12

Curso: Excel Advanced Macros

Módulo 3: Programación Modular

Tema: Funciones predefinidas: matemáticas, fecha y hora

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Crea funciones utilizando datos numéricos y operaciones matemáticas.


 Crea funciones matemáticas y las incorpora en formularios.

Conocimientos previos

¿Cómo sería el algoritmo para calcular


la raíz cuadrada de un número
determinado?

1
Mapa de Contenidos

VBA

tiene incorporadas

FUNCIONES
PREDETERMINADAS

que se dividen en

FUNCIONES DE CADENA DE FUNCIONES FUNCIONES DE FECHA /


TEXTO MATEMÁTICAS HORA

Para trabajar con Para trabajar con

Un conjunto de caracteres
numéricos y alfanuméricos. Datos numéricos

Contenidos de aprendizaje

2. Funciones matemáticas

Son funciones que operan sobre datos numéricos o los devuelven. Para desarrollar los
ejemplos, abre un nuevo archivo de Excel y dibuja un botón tal como se muestra en la siguiente
figura.

2
Las principales funciones para el trabajo con números son las siguientes:

SQR (número)
Devuelve la raíz cuadrada del número ingresado como parámetro. Por ejemplo:

Salida

ABS (número)
Devuelve el valor absoluto del número ingresado como parámetro. Por ejemplo:

Salida

Recuerda que el operador “_” permite coloca en varias lineas una misma
sentencia y tiene el mismo efecto de haberla colocado en una mima linea.

Por ejemplo: MsgBox “Hola ” _


& “mundo”

Eqiuvale a MsgBox “Hola mundo”

ROUND (número, decimales)


Redondea un número a una cantidad de decimales especificado. Por ejemplo:

3
Salida

RND
Proporciona un número aleatorio en el rango [0,1>. Por ejemplo:

Salida

APPLICATION.PI()
Devuelve el valor de π. Por ejemplo:

Salida

INT (número)
Devuelve el mayor valor entero de un número decimal. Por ejemplo:

Salida

4
3. Funciones de fecha y hora

VBA cuenta con algunas funciones que permiten realizar cálculos con fechas y horas. Para
desarrollar los ejemplos, en una nueva hoja, dibuja un botón tal como se muestra en la
siguiente figura.

Entre las principales funciones, se tienen:

DATE
Devuelve la fecha actual con formato MM/DD/YYYY, donde MM: Mes; DD: Día; YYYY: Año.
Por ejemplo:

Salida

TIME
Devuelve la hora actual en el formato HH:MM:SS.SSS, donde HH: Horas; MM: Minutos; SS:
Segundos. Por ejemplo:

Salida

5
NOW
Devuelve la fecha y la hora del día. Por ejemplo:

Salida

Aplica lo aprendido

Aplicación 3.7
Crea una función que devuelva números enteros aleatorios entre 1 y 20.

Aplicación 3.8
Crea un formulario que permita calcular el área de un círculo cuyo radio sea un dato
entrada.

6
Ficha de Aprendizaje N° 13

Curso: Excel Advanced Macros

Módulo 4: Estructuras de control

Tema: Estructura Condicional lf, then, else

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Diseña e implementa un programa utilizando una estructura condicional simple.


 Diseña e implemente un programa utilizando una estructura condicional con
contingencia de la forma.

Conocimientos previos

Escribe el seudocódigo o diagrama


de flujo de un programa que
determine si un alumno está
aprobado o desaprobado en base a
su nota final.

1
Mapa de Contenidos

VBA

tiene
Estructuras de control

de dos tipos:

CONDICIONAL DE CICLO REPETITIVO

simple
De la forma:
If...then

con contingencia
De la forma:
If...then...else

Contenidos de aprendizaje

I. Estructuras de control en VBA

En el mundo de la programación, existen dos tipos de estructuras


de control:

 Estructuras de control condicional

 Estructuras de control de ciclos repetitivos

1 Estructuras de control condicional

Son aquellas que permiten verificar si el programa cumple una determinada condición para que
se pueda ejecutar un conjunto de instrucciones definidas.

Por ejemplo: si se desea imprimir el resultado final que obtuvo un alumno en un curso, se
debería llegar a la siguiente condición:

Si el promedio es mayor que 10.5, entonces:

2
Imprimir “Aprobado”

Caso contrario:

Imprimir “Desaprobado”

En VBA, los principales tipos de estructuras condicionales son las


siguientes:

 Condicional simple de la forma: If….then


 Condicional con contingencia de la forma: If….then….else
 Condicionales anidadas
 Condicional múltiple de la forma: Select….case

A continuación, estudiaremos cada uno de los tipos de estructuras condicionales con mayor
detalle.

1.1 Condicional simple de la forma: If… then

Se utiliza cuando se necesita realizar un conjunto de acciones establecidas siempre y cuando


se cumpla una condición.

Su sintaxis es la siguiente:

El resultado de una expresión


booleana puede ser TRUE
(verdadero) o FALSE (falso).

Esto quiere decir que si se cumple la expresión booleana, se realizarán todas las sentencias
escritas después del then.

Su representación en diagrama de flujo es la siguiente:

Observa el siguiente ejemplo de aplicación:

3
Se desea diseñar e implementar un programa que permita verificar si un número es par o
impar.

Diagrama de flujo

Ahora vamos a escribir el código que nos permita determinar si un número es par. Para ello,
realiza los siguientes pasos:

Dibuja el formulario que


se muestra en la imagen.
No olvides modificar las
propiedades Name y
Caption de cada control.

En este caso, vamos a asignar los siguientes valores a las propiedades antes mencionadas

Control Name Caption


Form frmDeterminar Determinar si un número es par
Label lblNumero Ingrese un número
Textbox txtNumero
Command button cmdVerificar Verificar

4
Declaramos las
2 siguientes variables
en el evento Click
del botón Verificar.

3
Leemos el dato de
entrada.

4
Calculamos el residuo
de dividir entre 2.

5
Agregamos la
sentencia “If” que
emitirá el mensaje de
salida solo si el residuo
es cero.

Guarda tu trabajo, ejecuta el formulario, ingresa un número y presiona el botón Verificar. Tu


trabajo debe verse así:

5
1.2 Condicional con contingencia de la forma: If… then… else

Se utiliza cuando se desea que se ejecuten de un grupo de instrucciones cuando la condición


sea verdadera, y de otro grupo de instrucciones cuando la condición sea falsa.

Su sintaxis es la siguiente:

Su representación en diagrama de flujo es la siguiente:

Para el ejemplo anterior, en caso el número no sea par, mostraremos un mensaje indicando
que el número es impar. Para ello, realiza los siguientes pasos:

6
1
Completaremos la
sentencia “Else”
dentro del bloque If.

Guarda tu trabajo, ejecuta el formulario, ingresa un número y presiona el botón Verificar. Tu


trabajo debe verse así:

No olvides que siempre debes iniciar con la


sentecnia If y terminar con las palabras End if. En
caso contrario, el editor de VBA mostrará un error.

7
Aplica lo aprendido

Aplicación 4.1
Elabora un programa que emita un saludo “Buenos días” o “Buenas noches” según la hora
del día.

Aplicación 4.2
Elabora un programa que permita calcular el menor de 3 valores ingresados.

8
Ficha de Aprendizaje N° 14

Curso: Excel Advanced Macros

Módulo 4: Estructuras de control

Tema: Condicionales anidadas y múltiple

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Elabora un programa utilizando una estructura condicional anidada.


 Elabora un programa utilizando una estructura condicional multiple.

Conocimientos previos

Observa el siguiente diagrama. ¿Qué


tipo de número crees que permita
determinar?

1
Mapa de Contenidos

VBA
tiene
Estructuras de control

de dos tipos:

CONDICIONAL DE CICLO REPETITIVO

múltiple
De la forma:
Select…case

Una estructura
anidadas condicional dentro de
otra

Contenidos de aprendizaje

1.3 Condicionales anidadas

Se utiliza cuando una de las sentencias de una estructura condicional es otra estructura
condicional.

Por ejemplo: en una tienda comercial, desean hacer un descuento a sus clientes tomando
como primera condición que sean de sexo femenino y, dentro de esta condición, que sean
mayores de 50 años.

Existen diferentes formas de anidar estructuras condicionales, por lo que no existe una sintaxis
única. Presta atención al siguiente ejemplo de sintaxis basado en el caso anterior:

Cuando trabajas con


estructuras condicionales
anidadas, todo bloque de
sentencias que tenga más
de una instrucción debe
terminar con End If.

2
Por ejemplo, se desea elaborar un programa en VBA que permita clasificar la resistencia de un
producto cuando se expone a altas temperaturas, teniendo como dato de entrada el porcentaje
de pérdida de peso del producto y como salida, la clasificación correspondiente.

Porcentaje de pérdida de peso Clasificación


Menor o igual a 1 Altamente resistente
Mayor a 1 pero menor o igual a 5 Resistente
Mayor a 5 pero menor o igual a 10 Medianamente resistente
Mayor a 10 pero menor o igual a 20 Muy poco resistente
Mayor a 20 No resistente

Diagrama de flujo

Implementación del programa

3
Ahora vamos a escribir el código que nos permita desarrollar el programa indicado
anteriormente. Para ello, realiza los siguientes pasos:

Dibuja el formulario que


se muestra en la imagen.

Declaramos la
2 variable de entrada
en el evento Click
del botón Calcular.

3
Leemos el dato de
entrada.

4
Agregamos las
sentencias que
contienen los
condicionales
anidados.

4
Guarda tu trabajo, ejecuta el formulario, ingresa un número y presiona el botón Calcular. Tu
trabajo debe verse así:

1.4 Condicional múltiple de la forma Select… case

Permite ejecutar un conjunto de sentencias que posee varios bloques, similar a la sentencia If...
then... else, con la diferencia de que, al existir varias opciones, el código es más comprensible.

La sintaxis de una condicional múltiple es la siguiente:

Aquí se ejecutan las


sentencias ubicadas en la
lista que coincidan o
contengan el valor de la
expresión.

Si la expresión no se encuentra en ninguna de las listas, entonces se ejecutan las sentencias


del bloque Case Else. Este bloque es opcional; se coloca solo si es necesario.

5
Su diagrama de flujo es el siguiente:

Por ejemplo: se desea elaborar un programa que reciba como dato de entrada un número
entero entre 1 y 7, y luego escriba el día de la semana correspondiente. Es decir: 1=Lunes,
2=Martes, 3=Miércoles, 4=Jueves, 5=Viernes, 6=Sábado, 7=Domingo

Ahora vamos a escribir el código que nos permita desarrollar el programa indicado
anteriormente. Para ello, realiza los siguientes pasos:

Dibuja el formulario que


se muestra en la imagen.

Declaramos la variable
2 de entrada en el evento
Click del botón Día de
la semana.

3
Leemos el dato de
entrada.

6
Agregamos una
4 validación al dato de
entrada.

Agregamos las
5 sentencias
condicionales
múltiples.

Guarda tu trabajo, ejecuta el formulario, ingresa un número y presiona el botón Día de la


semana. Tu trabajo debe verse así:

7
La sentencia Exit Sub permite finalizar un
procedimiento sin que se ejecuten las lineas
posteriores a dicha sentencia.

Aplica lo aprendido

Aplicación 4.3
Elabora un programa que emita un saludo “Buenos días”, “Buenas tardes” o “Buenas
noches” según la hora del día.

Aplicación 4.4
Elabora un programa que permita el porcentaje de descuento que obtendrá un cliente de
acuerdo a la frecuencia de asistencia en el año a un cine.

8
Ficha de Aprendizaje N° 15

Curso: Excel Advanced Macros

Módulo 4: Estructuras de control

Tema: Bucles dela forma For…Next

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Utiliza estructuras de control de ciclos repetitivos For… Next

Conocimientos previos

¿Qué conjunto de sentencias nos


permitirán resolver la siguiente
ecuación?

1
Mapa de Contenidos

VBA
tiene
Estructuras de control

de dos tipos:

CONDICIONAL DE CICLO REPETITIVO

como

For...Next

donde se define
Un número exacto
de repeticiones

Contenidos de aprendizaje

I. Estructuras de control de ciclos repetitivos

Las estructuras de repetición permiten ejecutar una o más líneas de código repetidamente. A
los bloques de instrucciones repetitivos se les conoce como bucles o iteraciones.

Por ejemplo:

Si se desea elaborar un programa que imprima los 100 primeros números naturales, con lo que
conoces hasta el momento, lo harías de la siguiente manera.

2
Pero utilizando estructuras de control de ciclos repetitivos, lo podrías hacer con un algoritmo
más simple como este.

En VBA, los principales tipos de estructuras de control de ciclos


repetitivos son los siguientes:

 Ciclos de la forma: For.... Next

 Ciclos de la forma: Do… Loop While

1.1 Ciclos de la forma For… Next

Se utiliza cuando se conoce el número exacto de repeticiones por ejecutar.

Su sintaxis es la siguiente:

El bloque de sentencias es ejecutado tantas veces como lo indique el contador desde su valor
inicial hasta el final, tomando en cuenta el incremento o decremento indicado en Step.

El contador es una forma de controlar las


iteraciones realizadas. Este sufre un
incremento o decremento en una cantidad
fija en cada iteración.

Si no se coloca Step, el contador se


incrementará en 1 en cada iteración.

Su diagrama de flujo es el siguiente:

Donde:
I: es el contador.
vi: es el valor inicial del contador.
vf: es el valor final del contador.

3
Por ejemplo:

Se desea elaborar un programa que permita imprimir los números pares desde un inicio y fin
ingresados por el usuario. Para lograrlo, vamos a escribir el código que nos permita desarrollar
el programa indicado anteriormente. Realiza los siguientes pasos:

Dibuja el formulario que


se muestra en la imagen.

Declaramos las variables


2 de entrada en el evento
clic del botón Calcular.

3
Leemos los datos de
entrada.

4 Creamos una función


que permita determinar
si un número es par.

4
5
4 Agregamos las
sentencias de
validación de
datos de entrada.

Agregamos el bucle
que mostrará los
números pares.

Guarda tu trabajo, ejecuta el formulario, ingresa un número de inicio y fin. Luego, presiona el
botón Mostrar. Tu trabajo debe verse así:

5
La sentencia If permite evaluar una condicion
lógica, la cual puede ser inclusive la salida de
una funcion.

Aplica lo aprendido

Aplicación 4.5
Elabora un programa que muestre los números impares comprendidos en un rango de
valores ingresados por el usuario.

Aplicación 4.6
Elabora un programa que permita la suma de los “n” primeros números al cuadrado.

6
Ficha de Aprendizaje N° 16

Curso: Excel Advanced Macros

Módulo 4: Estructuras del control

Tema: Bucles de la forma Do…Loop while

Duración: 2 horas pedagógicas

Logros de aprendizaje

 Reconoce la diferencia entre los bucles de la forma For…Next y Do…Loop while.


 Elabora un programa utilizando estructuras Do…Loop while.

Conocimientos previos

Determina el valor final de la


variable cont en el siguiente
fragmento de código.

Dim i, cont as Integer

i=0

cont = 0

For i = 1 To 500

cont = cont +1

Next

1
Mapa de Contenidos

VBA
tiene Estructuras de control

de dos tipos:

CONDICIONAL DE CICLO REPETITIVO

como

For...Next Do...Loop While


donde se conoce donde no se conoce

El número exacto
de repeticiones

Contenidos de aprendizaje

1.2 Ciclos de la forma Do … Loop While

Este tipo de estructura se usa cuando no se conoce el número de iteraciones. Las


instrucciones se ejecutarán mientras la condición establecida sea verdadera.

Su sintaxis es la siguiente:

Su diagrama de flujo es el siguiente:

2
Un interruptor (switch, centinela,
bandera o flag) te permiten
controlar si se ejecutarán o no
ciertos bloques de programa.
Tiene dos valores diferentes a lo
largo de la ejecución: 1 y 0,
verdadero y falso, sí y no, etc.

Observa el siguiente ejemplo de aplicación:

Se desea elaborar un programa que permita calcular el promedio de notas del curso de
computación. El programa se detendrá cuando el usuario ingrese un valor negativo.

Implementación del programa

Ahora vamos a escribir el código que nos permita desarrollar el programa indicado
anteriormente. Para ello, realiza los siguientes pasos:

1 Dibuja un botón
dentro de una nueva
hoja de cálculo.

Declaramos la variable de
2 entrada en el evento Click
del botón Calcular.

3 Leemos el dato de
entrada desde un
Inputbox.

3
4

Agregamos las
sentencias y
variables para el
bucle.

Guarda tu trabajo, ejecuta el formulario, ingresa un número y presiona el botón Calcular. Tu


trabajo debe verse así:

4
Al presionar cancelar o ingresar un valor que no es un número, el programa finalizará y
mostrará el cálculo del promedio.

El comando Inputbox permite mostrar al usuario un


cuadro de texto en el cual se puede ingresar un dato
específico. No obstante, se debe controlar el valor
recibido.
La función IsNumeric devuelve un valor del tipo
boolean. Aparecerá True si el valor ingresado como
parámetro es numérico; y False, en caso contrario.

Aplica lo aprendido

Aplicación 4.7
Elabora un programa que muestre cada digito que compone un número ingresado desde un
formulario. Recuerda controlar si el valor ingresado es un número.

Aplicación 4.8
Elabora un programa que calcule el mayor de los números ingresados por el usuario. Los
números se ingresarán por un control Inputbox y el programa finalizará cuando se dé clic en
Cancelar.

5
Proyecto integrador

Como proyecto final desarrollarás el programa que se plantea a continuación:

1. Descarga el archivo produccion.xlsm de la plataforma. En el encontrarás los datos de una


empresa que se dedica a la producción de galletas, caramelos, chocolates y wafers en tres
diferentes turnos: mañana, tarde y noche.

2. Durante la producción, se puede registrar cinco tipos de defectos, los cuales se encuentran
descritos en la hoja “Defectos” del archivo.

3. En la hoja “Producción”, se registrará, en caso exista, el tipo de error que se tuvo por cada
producto y turno. Por ejemplo, la siguiente figura indica que, en el turno tarde de la
producción de galletas, se tuvo un error eléctrico; un error mecánico en el turno mañana;
cantidad de agua insuficiente en el turno tarde de la producción de chocolates; y falta de
insumos en el turno noche de wafers:

6
4. Si hubo un error en más de un turno de un producto, dicho producto no estará disponible
para la venta del día. En el caso anterior, estarán disponibles todos los productos menos
los chocolates. Estos se registran en la fila 10.

5. Tu trabajo consistirá en crear una macro que genere números aleatorios enteros entre 1 y
20 al presionar el botón “Iniciar simulación” que represente el valor obtenido en la
producción. Si dicho valor se encuentra entre 1 y 5, entonces se trata de un defecto; en
caso contrario, no hubo defectos. Por ejemplo:

6. Asimismo, la macro debe colocar en la celda B10 los productos disponibles, en el formato
que se muestra a continuación:

7. Por último, debes modificar el evento “BeforeDoubleClick” para que, al hacer doble clic en
cualquiera de las celdas del rango B2:E4, se obtenga un “MsgBox” con la descripción del
error. Por ejemplo, en el caso anterior, al hacer doble clic en la celda B3, se obtiene el
siguiente mensaje:

7
8

Vous aimerez peut-être aussi