0% encontró este documento útil (0 votos)
326 vistas37 páginas

Excel Ejercicios

Este documento presenta los conceptos básicos de la programación en Excel usando VBA, incluyendo variables, constantes, tipos de datos, arreglos, comentarios, operadores, estructuras de control de flujo como If/Then, Select Case, y bucles como For/Next, Do/While y Do/Until. También muestra ejemplos de cómo declarar y usar variables, arreglos unidimensionales y multidimensionales, y cómo crear un formulario de entrada de datos simple en VBA.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
326 vistas37 páginas

Excel Ejercicios

Este documento presenta los conceptos básicos de la programación en Excel usando VBA, incluyendo variables, constantes, tipos de datos, arreglos, comentarios, operadores, estructuras de control de flujo como If/Then, Select Case, y bucles como For/Next, Do/While y Do/Until. También muestra ejemplos de cómo declarar y usar variables, arreglos unidimensionales y multidimensionales, y cómo crear un formulario de entrada de datos simple en VBA.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 37

MS Excel Avanzado

Semana 2
Lima,
Razónjunio
social
de 2020
00.00.2015
Programación
Objetivos

❑ Entender los elementos esenciales de la programación en Excel: variables,


constantes, tipos de datos y arreglos entre otros.

❑ Descubrir por qué las funciones VBA son importantes.

❑ Descubrir la esencia de la programación: decisiones y bucles.

2
Programación
Usando comentarios en tu código VBA
Un comentario es el tipo de sentencia VBA mas simple. Debido a que VBA ignora la
sentencia, ella puede consistir en lo que sea que quieras. Puedes insertar un comentario
para recordar por qué hiciste algo o aclarar alguna particularidad de tu código.
Debes empezar un comentario con el apostrofe ('). VBA ignorará cualquier texto que
sigue al apostrofe en una línea de código.

3
Programación
Usando Variables, Constantes y Tipos de Datos
La principal función de VBA es manipular data. VBA almacena la data en la memoria de
la computadora y los datos pueden o no terminar en el disco. Algunos datos, como los
rangos de las hojas de trabajo, residen en los objetos. Otros datos se almacenan en las
variables que crea.
Una variable es simplemente una ubicación de almacenamiento con nombre en la
memoria de su computadora que utiliza un programa.
Se asigna un valor a una variable utilizando el operador de signo igual (=).

Aquí se muestran algunos ejemplos de variables asignadas con valores. Note que el
ultimo ejemplo usa 2 variables.

4
Programación
¿Qué son los Tipos de Datos de VBA?
Cuando hablamos de lenguajes de programación, el termino Tipo de Datos (data type)
hace referencia a la manera cómo el computador almacena la data en memoria – por
ejemplo, enteros (integer), reales (double) o cadena (string).
Aunque VBA puede ocuparse de estos detalles automáticamente, lo hace a un costo.
Dejar que VBA maneje sus datos de escritura da como resultado una ejecución más lenta
y un uso ineficiente de la memoria.

Tipos de datos
integrados en VBA

5
Programación
Operadores
Los operadores desempeñan papeles importantes en VBA. Además del operador de
signo igual (=), VBA proporciona varios operadores. La siguiente Tabla enumera estos
operadores. Estos deben ser familiares para usted porque son los mismos operadores
que se usan en las fórmulas de la hoja de trabajo (excepto el operador Mod).

Formula Excel Ingles


=MOD(10;3)

Formula Excel Español


=RESIDUO(10;3)

VBA
Z = 10 Mod 3

6
Programación
Declarando Variables
Si no declara el tipo de datos para una variable que usa en una rutina de VBA, VBA usará
el tipo de datos predeterminado: Variant. Los datos almacenados como una variante
actúan como un camaleón; cambia de tipo según lo que hagas con él.

Por ejemplo, si una variable es un tipo de datos Variant y contiene una cadena de texto
que se parece a un número (como "143"), puede usar esta variable para manipulaciones
de cadenas y cálculos numéricos. VBA maneja automáticamente la conversión. Dejar que
VBA maneje los tipos de datos puede parecer una tarea fácil, pero recuerde que sacrifica
la velocidad y aumenta la memoria utilizada.

7
Programación
Trabajando con Arreglos (Arrays)
Como la mayoría de los lenguajes de programación, VBA admite matrices.
Una matriz es un grupo de variables que comparten un nombre. Se refiere a una variable
específica en la matriz utilizando el nombre de la matriz y un número de índice entre
paréntesis.
Por ejemplo, puede definir una matriz de 12 variables de cadena para contener los
nombres de los meses del año. Si nombra la matriz MonthNames, puede referirse al
primer elemento de la matriz como MonthNames (1), el segundo elemento como
MonthNames (2), y así sucesivamente.
Declarando Arreglos
Antes de poder usar una matriz, debe declararla. Sin excepciones.
Declaras una matriz con una declaración Dim. Sin embargo, también debe especificar el
número de elementos en la matriz. Para ello, especifique el primer número de índice, la
palabra clave To y el último número de índice, todo entre paréntesis.

El siguiente ejemplo muestra cómo declarar una matriz de 100 enteros:

8
Programación
Declarando Arreglos (2)
Cuando declaras un arreglo, puedes escoger especificar sólo el índice superior. Si omites
el índice inferior, VBA asumirá que es 0.

Arreglos Multidimensionales
Las matrices creadas en los ejemplos anteriores son todas matrices unidimensionales.
Piense en las matrices unidimensionales como una sola línea de valores. Las matrices
que cree en VBA pueden tener hasta 60 dimensiones, aunque rara vez necesita más de
dos o tres dimensiones en una matriz.
El siguiente ejemplo declara una matriz de 81 enteros con dos dimensiones:

9
Programación
Arreglos Multidimensionales (2)
Puede pensar en este arreglo como una matriz de 9 x 9, perfecta para almacenar todos
los números en un rompecabezas de Sudoku. Para hacer referencia a un elemento
específico en esta matriz, debe especificar dos números de índice (similar a su "fila" y su
"columna" en la matriz).
El siguiente ejemplo muestra cómo puede asignar un valor a un elemento en esta
matriz:

Esta sentencia asigna un valor a un único elemento en la matriz. Si está pensando en la


matriz en términos de una matriz de 9 x 9, esto asigna 125 al elemento ubicado en la
tercera fila y la cuarta columna de la matriz. Aquí se explica cómo declarar una matriz
tridimensional, con 1,000 elementos:

Puedes pensar en una matriz tridimensional como un cubo. Visualizar una matriz de más
de tres dimensiones es más difícil.
10
Programación
Controlar el flujo del programa y toma de decisiones
¿Cómo es posible que las computadoras puedan tomar decisiones inteligentes?.
El secreto está en varias construcciones de programación que la mayoría de los lenguajes
de programación soportan.

La siguiente Tabla proporciona una vista previa de estas construcciones.

11
Programación
Sentencia GoTo

Estructura If-Then

12
Programación
Estructura Select Case
La estructura Select Case es útil para decisiones que involucran tres o más opciones
(aunque también funciona con dos opciones, proporcionando una alternativa a la
estructura If-Then-Else).

En este ejemplo, se está evaluando la variable Cantidad. El procedimiento verifica cuatro


casos diferentes (0–24, 25–49, 50–74 y 75 o más).
13
Programación
Bucle For-Next
El tipo más simple de bucle es un bucle For-Next. El bucle está controlado por una
variable de contador, que comienza en un valor y se detiene en otro valor. Las
declaraciones entre la declaración For y la declaración Next son las declaraciones que se
repiten en el ciclo.

El ejemplo utiliza un ciclo For-Next para sumar los primeros 1,000 números positivos. La
variable Total comienza en 0. Entonces se produce el bucle. La variable Cnt es el
contador de bucle. Comienza en 1 y se incrementa en 1 cada vez a través del ciclo. El
ciclo termina cuando Cnt es 1,000.
Este ejemplo tiene solo una declaración dentro del bucle. Esta declaración agrega el
valor de Cnt a la variable Total.
Cuando finaliza el ciclo, un MsgBox muestra la suma de los números.
14
Programación
Bucle Do-While
VBA admite otro tipo de estructura de bucle conocida como bucle Do-While. A
diferencia de un bucle For-Next, un bucle Do-While continúa hasta que se cumpla una
condición específica.

El siguiente ejemplo utiliza un bucle Do-While. Este procedimiento utiliza la celda activa
como punto de partida y luego baja por la columna, multiplicando el valor de cada celda
por 2. El ciclo continúa hasta que el procedimiento encuentra una celda vacía.

15
Programación
Bucle Do-Until
La estructura del bucle Do-Until es similar a la estructura Do-While. Las dos estructuras
difieren en su manejo de la condición probada.

Un programa continúa ejecutando un bucle Do-While mientras la condición sigue siendo


verdadera. En un ciclo Do-Until, el programa ejecuta el ciclo hasta que la condición sea
verdadera.

El siguiente ejemplo es el mismo presentado para el ciclo Do-While pero recodificado


para usar un ciclo Do-Until:

16
Programación
Ejercicio
Determinar la Tasa de rendimiento usando la programación de funciones.

Sugerencia: Puede usar la estructura Select Case o If-Then

17
Programación
Data Entry
En el ejemplo a continuación, se utilizará un cuadro de diálogo para obtener dos datos:
el nombre y el sexo de una persona. El cuadro de diálogo utiliza un control TextBox para
obtener el nombre, y utiliza tres botones de opción para obtener el sexo (masculino,
femenino o desconocido). La información recopilada en el cuadro de diálogo se envía a
la siguiente fila en blanco en una hoja de trabajo.
1. Presione Alt + F11 para activar el VBE.
2. En la ventana Proyecto, seleccione el libro vacío y elija Insertar ➪ UserForm. Se agrega un UserForm vacío
al proyecto.
3. Cambie la propiedad Caption de UserForm a Obtener Nombre y Sexo. Si la ventana de Propiedades no es
visible presione F4.

18
Programación
Data Entry
La caja de dialogo tiene 8 controles con propiedades que deben ajustarse:

Propiedad Label TexBox Frame OpB 1 OpB 2 OpB 3 Boton1 Boton2


Acelerator N M F U
Name TexName OptionMale OptionFemale OptionUnknown EnterButton CloseButton
Caption Nombre Sexo Masculino Femenino Desconocido Enter Close
TabIndex 0 1 2 0 1 2 3 4
Default True
Cancel True

Después de agregar los controles al UserForm, el siguiente paso es desarrollar un código


VBA para mostrar este cuadro de diálogo:

1. En la ventana VBE, elija Insertar ➪ Módulo para insertar un módulo VBA.


2. Ingrese la siguiente macro:

19
Programación
Data Entry
Los siguientes pasos darán al usuario una manera sencilla de ejecutar el procedimiento:
1. Activar Excel.
2. Ir a la pestaña Desarrollador ➪ Controles ➪ Insertar y darle click al icono de Botón en la sección de
controles de formulario.
3. Arrastrar en la hoja de trabajo y crear el Botón. Aparecerá el cuadro Asignar Macro.
4. Asignar la macro GetData al botón.
5. Editar el nombre del Botón con Data Entry.

Agregando procedimientos de controlador de eventos


1. Presione Alt + F11 para activar el VBE y luego asegúrese de que se muestre el UserForm.
2. Doble click en el botón Close del UserForm. El VBE activa la ventana de Código para el UserForm y
proporciona un procedimiento vacío llamado CloseButton_Click.
3. Modificar el procedimiento de la siguiente manera:
Este procedimiento, que se ejecuta cuando el usuario hace clic en el botón
Cerrar, simplemente descarga el cuadro de diálogo de la memoria.

4. Presionar Shift+F7 para cargar nuevamente el formulario UserForm1.


5. Doble click en el boton Enter e ingrear el siguiente codigo:

20
Programación
Data Entry

21
Programación
Data Entry
La siguiente imagen muestra el Data Entry en acción:

22
Programación
Ejercicio
Modificar el ejemplo Data Entry y agregar la fecha de registro y un mensaje de validación
al intentar registrar un Nombre vacío:

Notar el mensaje de advertencia, tiene un título que dice “Data Entry” y un icono con
una equis en rojo (mensaje crítico).
23
Análisis de datos y Control de Calidad
Estadígrafos
Después de haber ordenado y descrito un conjunto de datos, el análisis de la data aun
queda incompleto, se hace necesario resumir la información y facilitar su análisis e
interpretación utilizando ciertos indicadores

Clasificación

Las medidas de resumen más importantes se clasifican en 3 grupos:


Medidas de tendencia central: Media, Mediana, Moda
Medidas de posición: Deciles, Cuartiles, percentiles
Medidas de dispersión: Desviación Standard, Varianza, Coeficiente de variación

Podemos hacer la mayoría de los cálculos a través de las formulas provistas por Excel
pero también podemos usar la herramienta de análisis de datos la cual nos mostrará a
manera de informe los principales indicadores para nuestro análisis.

Para usar cualquiera de estas herramientas, elija Datos ➪ Análisis de datos y aparecerá
el cuadro de diálogo Análisis de datos. Desplácese por la lista hasta encontrar la
herramienta de análisis que desea usar y luego haga clic en Aceptar.
24
Análisis de datos y Control de Calidad
Estadística descriptiva
Una de las opciones que nos brinda las herramientas para análisis de datos es la
estadística descriptiva, la cual nos da un resumen de datos estadísticos de una manera
rápida y sencilla.

25
Análisis de datos y Control de Calidad
Histograma
La herramienta de histograma es útil para producir distribuciones de datos y gráficos de
histograma. Acepta un rango de entrada y un rango de clases. Un rango de clases es un
rango de valores que especifica los límites para cada columna del histograma.

En el ejemplo se muestran las notas de 105


alumnos. Se elaboró un histograma para
analizar la distribución de las notas.

26
Análisis de datos y Control de Calidad
Polígono de frecuencias
Un polígono de frecuencias es la gráfica que se obtiene a partir del Histograma y que se
forma al unir en forma consecutiva con segmentos los puntos de intersección entre los
puntos medios de cada clase y su frecuencia.

Histograma y Polígono de Frecuencias

En el ejemplo se muestran las


notas de 105 alumnos. Se
elaboró un histograma para
analizar la distribución de las
notas.
30 37 44 51 58 65 72 79 86 93 y
mayor...

Frecuencia Poligono

27
Programación Lineal
Introducción a Solver
La función Buscar Objetivo es una herramienta útil, pero claramente tiene limitaciones.
Puede resolver solo una celda ajustable y solo devuelve una única solución. La poderosa
herramienta Solver amplía este concepto al permitirle hacer lo siguiente:

❑ Especificar múltiples celdas ajustables.


❑ Especifique restricciones en los valores que pueden tener las celdas ajustables.
❑ Genere una solución que maximice o minimice una celda de hoja de trabajo en particular.
❑ Genera múltiples soluciones a un problema.

Los problemas que son apropiados para Solver caen en un rango relativamente estrecho.

❑ Una celda objetivo depende de otras celdas y fórmulas. Por lo general, desea maximizar o
minimizar esta celda objetivo o establecerla igual a algún valor.
❑ La celda objetivo depende de un grupo de celdas (llamadas celdas cambiantes) que Solver puede
ajustar para afectar la celda objetivo.
❑ La solución debe cumplir ciertas limitaciones o restricciones.

Después de configurar su hoja de trabajo adecuadamente, puede usar Solver para


ajustar las celdas cambiantes y producir el resultado que desea en su celda de destino, al
tiempo que cumple con todas las restricciones que definió.
28
Programación Lineal
Ejemplo práctico de Solver
La Figura a continuación muestra una hoja de trabajo configurada para calcular el
beneficio de tres productos. La columna B muestra el número de unidades de cada
producto, la columna C muestra el beneficio por unidad de cada producto y la columna
D contiene fórmulas que calculan el beneficio total de cada producto multiplicando las
unidades por el beneficio por unidad.

Evidentemente el mayor beneficio proviene del Producto C. Por lo tanto, para maximizar
el beneficio total, la solución lógica es producir solo el Producto C. Si las cosas fueran
realmente así de simples, no necesitaría herramientas como Solver.
Como en la mayoría de las situaciones, esta empresa tiene algunas limitaciones que
deben cumplirse:
29
Programación Lineal
Ejemplo práctico de Solver

1. La capacidad de producción combinada es de 300 unidades totales.


2. La empresa necesita 50 unidades de Producto A para completar un pedido existente.
3. La compañía necesita 40 unidades de Producto B para completar un pedido
anticipado.
4. Debido a que el mercado del Producto C es relativamente limitado, la compañía no
quiere producir más de 40 unidades de este producto.

Estas cuatro restricciones hacen que el problema sea más realista y un poco más
desafiante. De hecho, es un problema perfecto para Solver.

Estos son los pasos básicos para usar Solver:

1. Configure la hoja de trabajo con valores y fórmulas. Asegúrese de formatear las


celdas lógicamente; por ejemplo, si no puede producir unidades parciales de sus
productos, formatee esas celdas para que contengan números sin valores decimales.
2. Elija Datos ➪ Analizar ➪ Solver. Aparece el cuadro de diálogo Parámetros de Solver.

30
Programación Lineal
Ejemplo práctico de Solver

3. Especifique la celda objetivo (también conocida como objetivo).


4. Especifique el rango que contiene las celdas cambiantes.
5. Especifique las restricciones.
6. Cambie las opciones de Solver, si es necesario.
7. Haga clic en Resolver y deje que Solver vaya a trabajar.

Para resolver este ejemplo usando Solver , elija Datos ➪ Analizar ➪ Solver. Aparece el
cuadro de diálogo Parámetros de Solver. La siguiente Figura 1 muestra el cuadro de
diálogo, configurado para resolver el problema.

En este ejemplo, la celda objetivo es D6, la celda que calcula el beneficio total de tres
productos.

1. Ingrese D6 en el campo Establecer objetivo del cuadro de diálogo Parámetros de


Solver.
2. Debido a que el objetivo es maximizar esta celda, seleccione el botón de opción Máx.

31
Programación Lineal
Ejemplo práctico de Solver
3. Especifique las celdas cambiantes (que están en el rango B3:B5) en Cambiando las
celdas de variables:. El siguiente paso es especificar las restricciones sobre el
problema. Las restricciones se agregan de una en una y aparecen en la lista Sujeto a
restricciones.
4. Para agregar una restricción, haga clic en el botón Agregar. Aparece el cuadro de
diálogo Agregar restricción, que se muestra en la Figura 2. Este cuadro de diálogo
tiene tres partes: un valor de Referencia de celda, un operador y un valor de
Restricción.
5. Para establecer la primera restricción (que la capacidad de producción total es de
300 unidades), ingrese B6 como valor de referencia de celda, elija menor o igual que
(<=) de la lista desplegable de operadores e ingrese 300 como Valor de restricción.
6. Haga clic en Agregar e ingrese las restricciones restantes.
7. Después de ingresar la última restricción, haga clic en Aceptar para volver al cuadro
de diálogo Parámetros de Solver, que ahora enumera las cuatro restricciones.
8. Para el Método de resolución, use Simplex LP.
9. Haga clic en el botón Resolver para iniciar el proceso de solución. Puede ver el
progreso en la pantalla, y Excel pronto anuncia que ha encontrado una solución. El
cuadro de diálogo Resultados de Solver se muestra en la Figura 3.

32
Programación Lineal
Figura 1

33
Análisis de datos y Control de Calidad
Figura 2

Figura 3

34
Programación Lineal
En este punto, tiene las siguientes opciones:

❑ Mantenga la solución que encontró Solver.

❑ Restaurar los valores de celda cambiantes originales.

❑ Cree todos o alguno de los tres informes que describen lo que hizo Solver.

❑ Haga clic en el botón Guardar escenario para guardar la solución como un escenario
para que Scenario Manager pueda usarlo.

La sección Informes del cuadro de diálogo Resultados de Solver le permite seleccionar


uno o todos los tres informes opcionales. Si especifica alguna opción de informe, Excel
crea cada informe en una nueva hoja de trabajo, con un nombre apropiado. La Figura 4
muestra un Informe de respuesta.

35
Programación Lineal
Figura 4

36
Programación Lineal
Ejercicio

Resolver el siguiente ecuación lineal con 3 variables usando Solver.

37

También podría gustarte