Prueba 1 Programacion

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 105

UNIDAD 3:

DEFINICIÓN Y USO DE
MATRICES EN EXCEL E
INTRODUCCIÓN A
MATL AB

TEORÍA DE LA PROGRAMACIÓN 2

Realizado por: Ing. Ana Lucía Pérez MSc.


TEMAS DE LA UNIDAD
• Definición y declaración de matrices estáticas.
Operaciones entre matrices con Excel (suma, resta,
transpuesta, multiplicación e inversa)

• Definición y declaración de matrices dinámicas

• Reconocimiento del entorno de trabajo de Matlab, comandos básicos


y operadores. Operaciones básicas en el Command Window

• Edición de variables y tipos de datos en el Workspace (Array Editor).


Introducción al manejo de scripts en Matlab.

Realizado por: Ing. Ana Lucía Pérez MSc.


ALGUNAS DEFINICIONES DE
MATRIZ
• Conocida como un vector en dos dimensiones o arreglos
multidimensionales.
• Es una serie de vectores contenidos uno en el otro.
• Es una estructura conformada por filas y columnas.
• La intersección de una fila y una columna de la matriz,
corresponde a las casillas y cada una de ellas posee
información.

(programarya.com, 2019)

Realizado por: Ing. Ana Lucía Pérez MSc.


SIMILITUDES Y DIFERENCIAS
ENTRE VECTOR Y MATRIZ
Similitudes
• Tanto los vectores como las matrices pueden almacenar más de un elemento.
• Cada elemento del vector o de la matriz se identifica por subíndices.
• La información contenida en los vectores y en las matrices tienen información
del mismo tipo.
• El primer subíndice de los vectores y las matrices empieza en 0 (cero).

Diferencias
• Un vector tiene una dimensión, la matriz es multidimensional.
• El vector tiene una solo fila y varias columnas, la matriz varias filas y varias
columnas.
Realizado por: Ing. Ana Lucía Pérez MSc.
REPRESENTACIÓN DE UNA
MATRIZ
En una matriz cada dato tiene una posición específica para filas y
columnas. Así, al declarar una matriz de 3x3 elementos se tendría la
siguiente estructura:

Column 0 1 2 3
matriz(3, 3) as
Filas
0 8 4 4 7

1 4 58 45 0

2 -56 10 -89 9
0

3 12 23 17 21

Realizado por: Ing. Ana Lucía Pérez MSc.


OPERACIONES ENTRE
VECTORES Y ENTRE MATRICES
• Tanto para los vectores como para las matrices existen
operaciones básicas como:
– Suma
– Resta
– Transpuesta
• Estas operaciones se pueden realizar de forma sencilla a
través de funciones y/o fórmulas en una hoja de Excel
simple.

Realizado por: Ing. Ana Lucía Pérez MSc.


REQUISITOS PARA SUMAS Y
RESTAS
• Los vectores y matrices pueden ser de cualquier
tamaño. Es decir MxM, MxN, NxM.
• Para sumar o restar matrices, el único requisito
es que las dos matrices tengan el mismo tamaño.
Ya que cada elemento de cada fila y cada columna
de la Matriz A, debe corresponderse con cada
elemento de la Matriz B.

Realizado por: Ing. Ana Lucía Pérez MSc.


MATRIZ TRANSPUESTA
• La matriz transpuesta intercambia todos los elementos de
las filas por todos los elementos de las columnas.
• El tamaño puede ser MxM, NxM o MxN.
• Ejemplo:
Matriz original Matriz transpuesta
1 2 3 1 4 7
4 5 6 2 5 8
7 8 9 3 6 9

Realizado por: Ing. Ana Lucía Pérez MSc.


EJEMPLOS CON
OPERACIONES BÁSICAS
Para realizar las operaciones básicas entre vectores y
matrices, se utiliza las teclas CTRL + MAYS + ENTER y
funciones/fórmulas en Excel:

• Suma {=B1:D2+G1:I2}
• Resta {=B1:D2-G1:I2}
• Transpuesta {=TRANSPONER(B1:D2)}

Realizado por: Ing. Ana Lucía Pérez MSc.


OTRAS OPERACIONES

• Existen otras operaciones adicionales como:


– Multiplicación
– División
– Producto
– Inversa
• Estas operaciones se pueden realizar de forma sencilla a
través de funciones y/o fórmulas en una hoja de Excel
simple.

Realizado por: Ing. Ana Lucía Pérez MSc.


MULTIPLICACIÓN Y
DIVISIÓN
• La multiplicación y división de matrices, se realiza
de forma similar a la suma y resta.
• El requisito es que las matrices deben tener el
mismo tamaño para realizar las operaciones.
• La multiplicación y división de matrices se conoce
como operaciones escalares, ya que el cálculo es
elemento por elemento.

Realizado por: Ing. Ana Lucía Pérez MSc.


PRODUCTO DE MATRICES

Para hallar el producto entre dos matrices se debe cumplir


el siguiente requisito importante:
• Las columnas de la Matriz A debe ser igual a las filas de la
Matriz B. Caso contrario no se puede realizar el producto.
• El tamaño de la matriz resultante del producto es igual a:
filas= #filas de la Matriz A
columnas= # columnas de la Matriz B

Realizado por: Ing. Ana Lucía Pérez MSc.


CÁLCULO DEL PRODUCTO DE
MATRICES
Sea una Matriz A Y la Matriz B

1 2 5 6

3 4 7 8

El producto entre dos matrices se obtiene

(1x5) + (2x7) (1x6) + (2x8)

(3x5) + (4x7) (3x6) + (4x8)

Realizado por: Ing. Ana Lucía Pérez MSc.


INVERSA DE UNA MATRIZ

• Una matriz cuadrada es considerada invertible


cuando existe otra matriz del mismo orden
llamada inversa
• Se representa por 𝐴−1 .
• Existe inversa si el cálculo del determinante es
diferente de 0.

Realizado por: Ing. Ana Lucía Pérez MSc.


PROPIEDADES DE LA MATRIZ
INVERSA
• (A · B)−1 = B−1 · A−1
• (A−1 ) −1 = A
• (k · A)−1 = k−1 · A−1
• (A t) −1 = (A −1) t

Realizado por: Ing. Ana Lucía Pérez MSc.


EJEMPLOS CON
OPERACIONES AVANZADAS
Para realizar las operaciones avanzadas entre vectores y matrices
se utiliza las teclas CTRL + MAYS + ENTER y funciones/fórmulas
en Excel:

• Multiplicación {=B1:D2*G1:I2}
• División {=B1:D2/G1:I2}
• Producto {=MMULT(B1:D2;G1:I2)}
• Inversa con el determinante {=MINVERSA(B1:D3)}
• Determinante de una matriz {=MDETERM(B1:D3)}

Realizado por: Ing. Ana Lucía Pérez MSc.


CONCEPTO DE MATRICES
ESTÁTICAS
Son aquellas matrices que tienen
definido el tamaño desde el inicio de la
declaración.

Realizado por: Ing. Ana Lucía Pérez MSc.


SINTAXIS MATRICES
ESTÁTICAS
• Dim nombre_variable(tamanio_entero, tamanio_entero) as tipo_dato
• Ejemplo: Dim matriz(3,3) as Integer

Donde:
• Dim y as: palabras reservadas que no pueden cambiarse.
• nombre_variable es cualquier nombre representativo que el usuario desee
utilizar para la declaración de la matriz.
• tamanio_entero es un número entero que representa el tamaño de la
matriz, es decir la cantidad de valores que puede almacenar esa matriz.
• tipo_dato es el tipo de dato que determinar los valores que pueden ser
almacenados en la matriz (Integer, Double, String)

Realizado por: Ing. Ana Lucía Pérez MSc.


DECLARACIÓN DE MATRICES
ESTÁTICAS
• Para crear una matriz se requiere la programación en un
módulo.
• La matriz puede ser declarado de forma global o local.
• Para crear una matriz local se requiere la implementación
de un procedimiento.
Dim matriz(3,3) as Integer

Realizado por: Ing. Ana Lucía Pérez MSc.


INICIALIZACIÓN DE UNA MATRIZ
ESTÁTICA Y DESPLIEGUE DE
VALORES
• Para asignar un valor a una matriz estática se requiere identificar los
subíndices de la matriz.
• Dada una matriz(1,1), se tiene el subíndice 0,0; 0,1; 1,0; 1,1; así los valores
que pueden cargar en una matriz serían:
matriz(0,0)=1
matriz(0,1)=10
matriz(1,0)=-8
matriz(1,1)=9
• Para desplegar los valores de la matriz se lo hace por cada subíndice o
utilizando ciclos de repetición.

Realizado por: Ing. Ana Lucía Pérez MSc.


EJEMPLO
Dim matriz(2,2) as Integer
matriz(0,0)=1
matriz(1,2)=10
matriz(2,2)=-8
matriz(0,1)=9
For i=0 to 2
For i=0 to 2
matriz(i,j)=Inputbox(“Ingrese un elemento”)
Next
Next

For i=0 to 2
For i=0 to 2
Msgbox(matriz(i,j))
Next
Next
LICENCIA

Realizado por: Ing. Ana Lucía Pérez MSc.


UNIDAD 2:
PROGRAMACIÓN
MODULAR, DEFINICIÓN
Y USO DE VECTORES EN
EXCEL

TEORÍA DE LA PROGRAMACIÓN 2

Realizado por: Ing. Ana Lucía Pérez MSc.


TEMAS DE LA UNIDAD

• Funciones sin parámetros


• Procedimientos y funciones con parámetros
• Definición y declaración de vectores estáticos
• Definición y declaración de vectores dinámicos

Realizado por: Ing. Ana Lucía Pérez MSc.


CONCEPTO DE VECTORES
DINÁMICOS
Son aquellos vectores que no
tienen definido el tamaño al inicio
de la declaración y requiere ser
ingresado el tamaño en tiempo de
ejecución.

Realizado por: Ing. Ana Lucía Pérez MSc.


SINTAXIS VECTORES
DINÁMICOS
• ReDim nombre_variable(N) as tipo_dato
• Ejemplo: ReDim vector(N) as Integer

Donde:
• ReDim y as: palabras reservadas que no pueden cambiarse.
• nombre_variable es cualquier nombre representativo que el usuario desee utilizar
para la declaración del vector.
• N es un número entero que representará el tamaño del vector, es decir la cantidad
de valores que puede almacenar ese vector, solo se conocerá el valor en tiempo
de ejecución del programa.
• tipo_dato es el tipo de dato que determinar los valores que pueden ser
almacenados en el vector (Integer, Double, String)

Realizado por: Ing. Ana Lucía Pérez MSc.


DECLARACIÓN DE VECTORES
DINÁMICOS
• Para crear un vector se requiere la programación en un módulo.
• El vector solo puede ser declarado de forma local.
• Para crear un vector local se requiere la implementación de un
procedimiento.
ReDim vector(N) as Integer

Realizado por: Ing. Ana Lucía Pérez MSc.


INICIALIZACIÓN DE UN VECTOR
DINÁMICO Y DESPLIEGUE DE
VALORES
• Para asignar un valor a un vector dinámico se requiere identificar el
tamaño N y los subíndices del vector. El valor de N no puede ser
negativo, ni menor a 1.
• Dado un vector(N), se tiene el subíndice 0, 1, 2…N, así los valores que
pueden ingresar en un vector serían:
vector(0)=1
vector(1)=10
vector(2)=-8
vector(N)=9
• Pero como se desconoce el valor de N, para el ingreso y despliegue de
los valores del vector se lo hace por cada subíndice o utilizando ciclos de
repetición.

Realizado por: Ing. Ana Lucía Pérez MSc.


EJEMPLO
Redim vector(N) as Integer
N=Inputbox(“Tamaño del vector”)
For i=0 to N
vector(i)=Inputbox(“Ingrese un elemento”)
Next

For i=0 to N
Msgbox(vector(i))
Next

Realizado por: Ing. Ana Lucía Pérez MSc.


LICENCIA

Realizado por: Ing. Ana Lucía Pérez MSc.


UNIDAD 2:
PROGRAMACIÓN
MODULAR, DEFINICIÓN
Y USO DE VECTORES EN
EXCEL

TEORÍA DE LA PROGRAMACIÓN 2

Realizado por: Ing. Ana Lucía Pérez MSc.


TEMAS DE LA UNIDAD

• Funciones sin parámetros


• Procedimientos y funciones con parámetros
• Definición y declaración de vectores estáticos
• Definición y declaración de vectores dinámicos

Realizado por: Ing. Ana Lucía Pérez MSc.


ALGUNAS DEFINICIONES DE VECTOR

• Es una variable que puede almacenar más de un


valor en el mismo nombre de la variable, sin que
se pierda ningún valor.
• Conocido como arreglos unidimensionales.
• Corresponde a una zona de almacenamiento
contiguo.
• Conjunto de elementos del mismo tipo, que se
identifican por subíndices.
(alegsa.com.ar, 2019)
Realizado por: Ing. Ana Lucía Pérez MSc.
REPRESENTACIÓN DE UN
VECTOR
Un vector está compuesto por subíndices. Por ejemplo, si se declara un
vector de 3 elementos se tendría la siguiente estructura:

datos(3)

Datos 10 5 8 34
Subíndices 0 1 2 3

Realizado por: Ing. Ana Lucía Pérez MSc.


CONCEPTO DE VECTORES
ESTÁTICOS
Son aquellos vectores que
tienen definido el tamaño desde
el inicio de la declaración.

Realizado por: Ing. Ana Lucía Pérez MSc.


SINTAXIS VECTORES
ESTÁTICOS
• Dim nombre_variable(tamanio_entero) as tipo_dato
• Ejemplo: Dim vector(3) as Integer

Donde:
• Dim y as: palabras reservadas que no pueden cambiarse.
• nombre_variable es cualquier nombre representativo que el usuario desee
utilizar para la declaración del vector.
• tamanio_entero es un número entero que representa el tamaño del vector,
es decir la cantidad de valores que puede almacenar ese vector.
• tipo_dato es el tipo de dato que determinar los valores que pueden ser
almacenados en el vector (Integer, Double, String)

Realizado por: Ing. Ana Lucía Pérez MSc.


DECLARACIÓN DE VECTORES
ESTÁTICOS
• Para crear un vector se requiere la programación en un módulo.
• El vector puede ser declarado de forma global o local.
• Para crear un vector local se requiere la implementación de un
procedimiento.
Dim vector(3) as Integer

Realizado por: Ing. Ana Lucía Pérez MSc.


INICIALIZACIÓN DE UN VECTOR
ESTÁTICO Y DESPLIEGUE DE
VALORES
• Para asignar un valor a un vector estático se requiere identificar los
subíndices del vector.
• Dado un vector(3), se tiene el subíndice 0, 1, 2 y 3, así los valores que
pueden cargar en un vector serían:
vector(0)=1
vector(1)=10
vector(2)=-8
vector(3)=9
• Para desplegar los valores del vector se lo hace por cada subíndice o
utilizando ciclos de repetición.

Realizado por: Ing. Ana Lucía Pérez MSc.


EJEMPLO
Dim vector(3) as Integer
vector(0)=1
vector(1)=10
vector(2)=-8
vector(3)=9
For i=0 to 3
vector(i)=Inputbox(“Ingrese un elemento”)
Next

For i=0 to 3
Msgbox(vector(i))
Next

Realizado por: Ing. Ana Lucía Pérez MSc.


LICENCIA

Realizado por: Ing. Ana Lucía Pérez MSc.


UNIDAD 2:
PROGRAMACIÓN
MODULAR, DEFINICIÓN
Y USO DE VECTORES EN
EXCEL

TEORÍA DE LA PROGRAMACIÓN 2

Realizado por: Ing. Ana Lucía Pérez MSc.


TEMAS DE LA UNIDAD

• Funciones sin parámetros


• Procedimientos y funciones con parámetros
• Definición y declaración de vectores estáticos
• Definición y declaración de vectores dinámicos

Realizado por: Ing. Ana Lucía Pérez MSc.


PROCEDIMIENTOS CON
PARÁMETROS
Son aquellos procedimientos que reciben uno o varios parámetros.
• Declaración
Private sub calcular(a as Integer, b as Double)
sentencias
End Sub

Donde a y b son variables locales al procedimiento y toman el valor que fue enviado
desde un control u otro procedimiento.

• Llamada a un procedimiento con parámetros:


sentencias
sentencias
calcular(z, x)
sentencias
EJEMPLO
Private sub btn_ingresar()
Dim a as Integer
Dim b as Integer
a=inputbox(“Ingrese un número”)
b=inputbox(“Ingrese un número”)
calcular(a,b)
End Sub

Private sub calcular(a as Integer, b as Integer)


Dim c as Integer
c=a+b
Msgbox(“La suma es ” & c)
End Sub

Realizado por: Ing. Ana Lucía Pérez MSc.


FUNCIONES CON
PARÁMETROS
Son aquellas funciones que reciben uno o varios parámetros
• Declaración
Function calcular(a as Integer, b as Double) as Integer
sentencias
End Function

Donde a y b son variables locales a la función y toman el valor que fue enviado
desde un control, otro procedimiento o función.

• Llamada a una función con parámetros:


sentencias
sentencias
calcular(z, x)
sentencias
EJEMPLO
Private sub btn_ingresar()
Dim a as Integer
Dim b as Integer
a=inputbox(“Ingrese un número”)
b=inputbox(“Ingrese un número”)
Msgbox(“La suma es ” & calcular)
End Sub

Function calcular(a as Integer, b as Integer) as Integer


calcular=a+b
End Function

Realizado por: Ing. Ana Lucía Pérez MSc.


PROCEDIMIENTOS,
FUNCIONES
Y M AT R I C E S

Realizado por: Ing. Ana Lucía Pérez MSc.


DEFINICIÓN

• Cuando se trabaja con matrices, existen sentencias que son


repetitivas, especialmente al momento de validar datos.
• Debido a esta razón, se hace necesario la implementación de
procedimientos y/o funciones que sean lo más genéricas posibles, de
forma que puedan ser reutilizadas en cualquier proyecto.
• Los procedimientos y funciones en el manejo de matrices se
comportan de la misma forma que en otros ejercicios, sin embargo
existe una sintaxis especial para el envío y recepción de una matriz.

Realizado por: Ing. Ana Lucía Pérez MSc.


MATRIZ EN UN PROCEDIMIENTO
Implementación
Private sub nombre_procedimiento(matriz() as Tipo_Dato)
sentencias
End Sub

Para la invocación
nombre_procedimiento(nombre_matriz)

Donde:
matriz() es el nombre de la matriz que se recibirán cuando el procedimiento sea
invocado.
Tipo_Dato es el tipo de dato que el procedimiento recibirá.
nombre_matriz es el nombre de la matriz que se envía al procedimiento.
MATRIZ EN UNA FUNCIÓN
Para la implementación
Function nombre_función(matriz() as Tipo_Dato) as Devuelve_Tipo_Dato
Sentencias
End Function

Para la invocación
nombre_función(nombre_matriz)

Donde:
matriz() es el nombre de la matriz que se recibirán cuando la función sea invocada.
Tipo_Dato es el tipo de dato que la función recibirá.
Devuelve_Tipo_Dato el tipo de dato que la función devolverá en el mismo nombre de
la función.
nombre_matriz es el nombre de la matriz que se envía al procedimiento.
LICENCIA

Realizado por: Ing. Ana Lucía Pérez MSc.


UNIDAD 2:
PROGRAMACIÓN
MODULAR, DEFINICIÓN
Y USO DE VECTORES EN
EXCEL

TEORÍA DE LA PROGRAMACIÓN 2

Realizado por: Ing. Ana Lucía Pérez MSc.


TEMAS DE LA UNIDAD

• Funciones sin parámetros


• Procedimientos y funciones con parámetros
• Definición y declaración de vectores estáticos
• Definición y declaración de vectores dinámicos

Realizado por: Ing. Ana Lucía Pérez MSc.


DEFINICIÓN DE FUNCIÓN

• Conjunto de sentencias que permiten dar solución a un problema


concreto devolviendo en el mismo nombre de la función un valor de
acuerdo al tipo de dato declarado en la función.
• Sentencias que permiten la optimización y modularidad de un
programa.
• Conjunto de sentencias reutilizables.

Realizado por: Ing. Ana Lucía Pérez MSc.


SINTAXIS
Function nombre_función(argumentos) as Tipo_Dato
sentencias
End Function

Donde:
nombre_función es cualquier nombre representativo que el usuario
desee utilizar para la declaración de la función. En el nombre de la
función se devuelve o retorna el valor deseado.
argumentos son las variables que se recibirán cuando la función sea
invocada. No siempre se tiene argumentos.
Tipo_Dato el tipo de dato que la función devolverá en el mismo
nombre.
Function, as, End Function: son palabras reservadas que no se pueden
cambiar.
FUNCIONES SIN
PARÁMETROS
Son aquellas funciones que no reciben ningún argumento o parámetro.
• Declaración
Function calcular() as Integer
sentencias
End Function

• Llamada a una función sin parámetros:


sentencias
sentencias
calcular
sentencias
EJEMPLO
Dim a as Integer
Dim b as Integer
Private sub btn_ingresar()
a=inputbox(“Ingrese un número”)
b=inputbox(“Ingrese un número”)
Msgbox(“La suma es ” & calcular)
End Sub

Function calcular() as Integer


calcular=a+b
End Function

Realizado por: Ing. Ana Lucía Pérez MSc.


LICENCIA

Realizado por: Ing. Ana Lucía Pérez MSc.


UNIDAD 1:
PROGRAMACIÓN
EN EXCEL E
INTRODUCCIÓN
A PROCEDIMIENTOS

TEORÍA DE LA PROGRAMACIÓN 2

Realizado por: Ing. Ana Lucía Pérez MSc.


TEMAS DE LA UNIDAD

• Comandos y objetos de control en UseForm – Repaso


• Macros en Excel
• Módulos en Excel
• Procedimientos sin parámetros

Realizado por: Ing. Ana Lucía Pérez MSc.


DEFINICIÓN DE
PROCEDIMIENTO
• Conjunto de sentencias que permiten dar solución a un problema
concreto.
• Sentencias que permiten la optimización y modularidad de un
programa.
• Conjunto de sentencias reutilizables.

Realizado por: Ing. Ana Lucía Pérez MSc.


SINTAXIS
Private sub nombre_procedimiento(argumentos)
sentencias
End sub

Donde:
nombre_procedimiento es cualquier nombre representativo que
el usuario desee utilizar para la declaración del procedimiento.
argumentos son las variables que se recibirán cuando el
procedimiento sea invocado. No siempre se tendrá
argumentos.
Private sub, End sub: palabras reservadas que no pueden ser
cambiadas.
PROCEDIMIENTOS SIN
PARÁMETROS
Son aquellos procedimientos que no reciben ningún argumento o parámetro.
• Declaración
Private sub calcular()
sentencias
End Sub

• Llamada a un procedimiento sin parámetros:


sentencias
sentencias
calcular
sentencias
EJEMPLO
Dim a as Integer
Dim b as Integer
Private sub btn_ingresar()
a=inputbox(“Ingrese un número”)
b=inputbox(“Ingrese un número”)
calcular
End Sub

Private sub calcular()


Dim c as Integer
c=a+b
Msgbox(“La suma es ” & c)
End Sub

Realizado por: Ing. Ana Lucía Pérez MSc.


LICENCIA

Realizado por: Ing. Ana Lucía Pérez MSc.


UNIDAD 1:
PROGRAMACIÓN
EN EXCEL E
INTRODUCCIÓN
A PROCEDIMIENTOS

TEORÍA DE LA PROGRAMACIÓN 2

Realizado por: Ing. Ana Lucía Pérez MSc.


TEMAS DE LA UNIDAD

• Comandos y objetos de control en UseForm – Repaso


• Macros en Excel
• Módulos en Excel
• Procedimientos sin parámetros

Realizado por: Ing. Ana Lucía Pérez MSc.


DEFINICIÓN DE MÓDULO

• Conocido también como biblioteca.


• Es una colección de definiciones de variables, funciones y tipos de
datos.
• Es una parte del archivo de Excel, disponible en el Explorador de
Proyectos, en la que se escriben los códigos en Visual Basic Access
(VBA).
(progra.usm.cl, 2019; www.excel-avanzado.com, 2019)

Realizado por: Ing. Ana Lucía Pérez MSc.


CARACTERÍSTICAS DE LOS
MÓDULOS
• No tienen interfaz.
• Pueden ser utilizados desde cualquier parte del programa, incluso
desde otros programas.
• Las funciones, procedimientos y variables en un módulo, se definen
una sola vez.
• Permiten que un programa esté organizado en varias secciones
lógicas.

(progra.usm.cl, 2019)

Realizado por: Ing. Ana Lucía Pérez MSc.


CREAR UN MÓDULO
• Al igual que las macros se requiere que la pestaña Desarrollador esté
habilitada.
• Seleccionar la opción Visual Basic.

• En el Editor de VBA, en la sección de proyectos, de da clic derecho y se


agrega Módulo.

• Un módulo también se crea de forma automática al grabar una Macro.

Realizado por: Ing. Ana Lucía Pérez MSc.


PROGRAMACIÓN EN UN
MÓDULO
• Una vez que se ha creado un módulo, en este se pueden definir
variables, constantes, procedimientos, funciones.

• Para ejecutar el código se presiona el botón de la Barra Estándar.

Realizado por: Ing. Ana Lucía Pérez MSc.


LICENCIA

Realizado por: Ing. Ana Lucía Pérez MSc.


UNIDAD 1:
PROGRAMACIÓN
EN EXCEL E
INTRODUCCIÓN
A PROCEDIMIENTOS

TEORÍA DE LA PROGRAMACIÓN 2

Realizado por: Ing. Ana Lucía Pérez MSc.


TEMAS DE LA UNIDAD

• Comandos y objetos de control en UseForm – Repaso


• Macros en Excel
• Módulos en Excel
• Procedimientos sin parámetros

Realizado por: Ing. Ana Lucía Pérez MSc.


DEFINICIÓN DE MACRO

• Es una acción o un conjunto de acciones que se puede ejecutar


reiteradamente.
• Permite automatizar una tarea repetitiva.

(Ayuda Microsoft, 2019)

Realizado por: Ing. Ana Lucía Pérez MSc.


GRABACIÓN DE UNA MACRO

1. Al grabar una macro, se graban todos los pasos en código de Visual


Basic para Aplicaciones (VBA).
2. No se requiere conocer el código de VBA, ni poseer
conocimientos de programación, ya que la grabadora de macros
realiza lo que el usuario desea.
3. Una macro graba los clics del mouse y las pulsaciones de las teclas;
si se comete un error en la secuencia, la grabadora de macros lo
grabará.

Realizado por: Ing. Ana Lucía Pérez MSc.


GRABACIÓN DE UNA MACRO
4. Para crear una macro, se debe habilitar la pestaña
Desarrollador. Si no se encuentra habilitada, debe
seguir los siguientes pasos:
– Seleccionar menú Archivo → Ir a opciones.
– Luego seleccionar Personalizar cintas de opciones →
Pestañas principales → Programador o Desarrollador.
– Acepte los cambios y podrá visualizar la Pestaña con la
siguiente información:

Realizado por: Ing. Ana Lucía Pérez MSc.


GRABACIÓN DE UNA MACRO
5. Para iniciar la grabación de una macro se debe presionar el botón
GRABAR MACRO, y proporcionar un nombre a la macro:

6. Al iniciar la grabación, recuerde que la macro graba todas las


acciones realizadas.
7. Cuando finalice las acciones, debe presionar Detener la macro.

Realizado por: Ing. Ana Lucía Pérez MSc.


VISUALIZAR/EJECUTAR UNA
MACRO
• En la opción Código, de la Pestaña Desarrollador,
presionar el botón Macros, aquí se listan todas las macros
realizadas.

• En esta ventana se puede escoger Ejecutar Todo/Ejecutar


Paso a Paso/Modificar/Eliminar la Macro.
MODIFICAR UNA MACRO
• Si se posee conocimientos de programación y código de VBA, es
posible modificar las instrucciones de la macro generada.
• Al seleccionar la opción de modificar una macro se presenta la
siguiente pantalla:

• Es un procedimiento creado como módulo dentro de la hoja e Excel.


BOTONES DE CONTROL
• Al crear un botón de control, también es
posible generar una macro de forma
automática.

• Al seleccionar y dibujar un control,


aparece la venta de creación de Macros.
Se puede optar por crear una nueva
Macro o asignar a una ya existente.

• En cualquier opción el control aparece en


la hoja de Excel.

Realizado por: Ing. Ana Lucía Pérez MSc.


AGREGAR UNA MACRO A LA
CINTA DE OPCIONES
• A través de la Personalización de la Cinta de Opciones, es posible
añadir una nueva pestaña y agregar un grupo de opciones.

• Una vez que cree una pestaña y sus grupos de opciones se podrá
visualizar la barra de Excel como se muestra a continuación:

Realizado por: Ing. Ana Lucía Pérez MSc.


LICENCIA

Realizado por: Ing. Ana Lucía Pérez MSc.


UNIDAD 1:
PROGRAMACIÓN
EN EXCEL E
INTRODUCCIÓN
A PROCEDIMIENTOS

TEORÍA DE LA PROGRAMACIÓN 2

Realizado por: Ing. Ana Lucía Pérez MSc.


TEMAS DE LA UNIDAD

• Comandos y objetos de control en UseForm – Repaso


• Macros en Excel
• Módulos en Excel
• Procedimientos sin parámetros

Realizado por: Ing. Ana Lucía Pérez MSc.


PASOS PREVIOS
Para poder programar en Excel es necesario habilitar la pestaña
Desarrollador. Si no se encuentra habilitada, debe seguir los siguientes
pasos:
• Seleccionar menú Archivo / Ir a opciones.
• Luego seleccionar Personalizar cintas de opciones / Pestañas
principales / Programador o Desarrollador.
• Acepte los cambios y podrá visualizar la Pestaña con la siguiente
información:

Realizado por: Ing. Ana Lucía Pérez MSc.


SECCIÓN DE
PROGRAMACIÓN
• En la Pestaña Programador, seleccionar el ícono Visual Basic.

Realizado por: Ing. Ana Lucía Pérez MSc.


ENTORNO DE TRABAJO
Barra de
menús

Explorador de
Proyectos Área de trabajo

Ventana de
Propiedades

Realizado por: Ing. Ana Lucía Pérez MSc.


ÁREA DE TRABAJO -
USEFORM

Cuadro de herramientas

Realizado por: Ing. Ana Lucía Pérez MSc.


IDENTIFICACIÓN DE LOS
ELEMENTOS
1. Barra de menús: visualiza las órdenes que se utiliza para
desarrollar una aplicación.
2. Explorador de proyectos: conjunto de formularios, módulos,
clases y recursos que forman parte de la aplicación.
3. Ventana de propiedades: cada objeto tiene su propio conjunto
de propiedades, como: nombre, posición, tamaño, color, etc.
4. Cuadros de herramientas: proporciona un conjunto de
herramientas que permiten colocar los controles en el formulario
durante el modo de diseño.
5. Formulario: ventana sobre la que se coloca los objetos.

Realizado por: Ing. Ana Lucía Pérez MSc.


ÁREA DE TRABAJO -
MÓDULOS

Realizado por: Ing. Ana Lucía Pérez MSc.


CUADRO DE HERRAMIENTAS
• El cuadro de herramientas contiene los objetos que son sujetos de
programación.
• Todos los objetos tienen:
- Propiedades
- Eventos

Realizado por: Ing. Ana Lucía Pérez MSc.


CONTROLES BÁSICOS Y SU
APLICACIÓN
Nombre Significado y aplicación Identificador
Form Formulario principal que contiene los controles. form_nombre
PictureBox Cuadro de pintura para mostrar gráficos. pic_nombre

Label Etiqueta para mostrar títulos. lbl_nombre


TextBox Caja de texto para ingresar cualquier valor. txt_nombre
Frame Marco para agrupar controles. frm_nombre
CommandButton Botón para ejecutar cualquier acción. btn_nombre
cmd_nombre

CheckBox Caja de marcación o selección múltiple de opciones. chk_nombre

OptionButton Botón de opción o selección única. opt_nombre

ComboBox Caja combinada de opciones para seleccionar de un elemento cmb_nombre


de la lista.

ListBox Lista para desplegar opciones. lst_nombre

Realizado por: Ing. Ana Lucía Pérez MSc.


PRINCIPALES PROPIEDADES
Propiedad Significado Controles que usa
Name Nombre único del control. Todos
Backcolor Color de fondo Todos
Enabled Habilita/Deshabilita el control Todos

Font Tamaño y forma de la fuente Todos


Picture Imagen a mostrar en el control Form, Picture, CommandButton

TabIndex Orden de secuencia del control Todos

ToolTipText Texto de ayuda del control Todos

Visible El control se muestra o no Todos


Caption Texto que se muestra en el control Form, Label, CommandButton

Text Texto que se muestra en el control TextBox, ComboBox

Style Estilo de aparición normal/gráfica ComboBox, CheckBox, OptionButton,


CommanButton
Value Valor del control CheckBox, OptionButton
Sorted Control ordenado alfabéticamente ComboBox,ListBox

List Ingreso de lista del control ComboBox,ListBox


PRINCIPALES EVENTOS
Evento Significado Controles que usa

Click Al hacer clic con el botón izquierdo Form, Label, Frame, TextBox, Picture, CommandButton,
del mouse. CheckBox, OptionButton, ComboBox, ListBox

DblClick Al hacer doble clic con el botón ComboBox, Form, Frame, Label, ListBox, OptionButton,
izquierdo del mouse. Picture, TextBox

Keypress Al presionar cualquier tecla CheckBox, ComboBox, CommandButton, Form,


ListBox, OptionButton, Picture, TextBox

MoseMove Al mover el mouse Todos

DragDrop Al arrastrar y soltar Todos

Change Al cambiar o modificar TextBox, Picture, Label, ComboBox

Load Al cargar el control Form

Realizado por: Ing. Ana Lucía Pérez MSc.


CREACIÓN DE
SUBPROCEDIMIENTOS

• Seleccionar el control
• Hacer doble clic
• Se apertura la sección del código de VB.
• Ejemplo:
Private Sub Text1_Change()

End Sub

Realizado por: Ing. Ana Lucía Pérez MSc.


ACCESO A LAS
PROPIEDADES
• Seleccionar el control.
• En el panel derecho se muestra las
propiedades.
• En la sección del código, al escribir el
nombre del control y a continuación el signo
de punto (.) se despliegan las propiedades .
• Ejemplo: Text1.Text

Realizado por: Ing. Ana Lucía Pérez MSc.


ELEMENTOS DEL LENGUAJE

• Comentarios: para comentar una instrucción se utiliza la comilla


simple (').
• Constante numérica: es un valor que no cambia durante la
ejecución de un programa.VB admite números en base 10, 16, 8.
Ejemplo: pi=3.1416
• Constante de carácter: a=“Grados centígrados:”
• Variables: una variable tiene: nombre, tipo y ámbito. Debe empezar
por letras y máximo 255 caracteres.

Realizado por: Ing. Ana Lucía Pérez MSc.


TIPOS DE DATOS
• Integer = entero
• Long = entero largo
• Single = coma flotante, simple precisión
• Double = coma flotante, doble precisión
• Currency = número con punto decimal fijo
• String = cadena de caracteres
• Byte = caracter
• Boolean = boolean
• Date = fecha/hora
• Object = referencia a un objeto
• Variant = con números 16 bytes / con caracteres 22 bytes
• Decimal = números con 0 a 28 decimales

Realizado por: Ing. Ana Lucía Pérez MSc.


DECLARACIÓN DE
VARIABLES
• Para declarar variables se hace uso de la palabra reservada Dim
– Dim num as Integer
• Cualquier declaración de variables numéricas, se inicializan con cero.
• Las variables alfanuméricas se inicializan con carácter nulo.
• Cuando se utiliza una variable no declarada, se asume que es de tipo
Variant.

Realizado por: Ing. Ana Lucía Pérez MSc.


ÁMBITO DE LAS VARIABLES

• El ámbito o alcance de las variables, es el espacio de la aplicación


donde la variable es visible y por lo tanto se puede utilizar.
– Local: Dim, Static, ReDim
Se reinician cada vez que se ingresa al procedimiento.
Si se desea que no suceda, declarar como static
– Global: Dim, Public

Realizado por: Ing. Ana Lucía Pérez MSc.


Ejemplo

Label o
etiqueta

TextBox
o Caja
de Texto

CommandButton o Botón

Realizado por: Ing. Ana Lucía Pérez MSc.


EJEMPLO DE CÓDIGO Y
EJECUCIÓN

Realizado por: Ing. Ana Lucía Pérez MSc.


ESTRUCTURAS DE CONTROL

• If-then-endif
• Switch-case
• While-wend
• Do-loop while
• Do-loop until
• For to-next

Realizado por: Ing. Ana Lucía Pérez MSc.


LICENCIA

Realizado por: Ing. Ana Lucía Pérez MSc.

También podría gustarte