Está en la página 1de 67

ANÁLISIS AVANZADO

DE DATOS
INTRODUCCIÓN A VISUAL BASIC FOR APPLICATIONS

Act. Mayra Lizeth Quiñones Ayala


INTRODUCCIÓN A VISUAL BASIC FOR APPLICATION – MACROS
EN EXCEL

• ¿Qué es una macro en Excel?


• ¿Para que sirve una macro en Excel?
• ¿Cómo activo el programador en Excel?
¿Qué es una macro en Excel?

Una macro es un conjunto de comandos que se almacena en un


lugar especial de Excel de manera que están siempre
disponibles cuando los necesites ejecutar.

Las macros son escritas en un lenguaje de computadora conocido como


VBA por sus siglas en inglés (Visual Basic for Applications).
¿Para que sirve una macro en Excel?

Una macro nos ayuda a automatizar aquellas tareas que hacemos


repetidamente.

Una macro es una serie de instrucciones que son guardadas dentro de un


archivo de Excel para poder ser ejecutadas cuando lo necesitemos.
¿Cómo activar el programador en Excel?

La pestaña Programador es ampliamente utilizada en la creación de macros y


de controles de formulario. Sin embargo, dicha pestaña no es mostrada de
manera predetermina en la Cinta de opciones de Excel y por lo tanto es
importante aprender a mostrarla.

Para activar la pestaña Programador, debemos acudir a la configuración de la Cinta


de opciones.

MÉTODO 1

MÉTODO 2 ATAJO
ACTIVAR PROGRAMADOR
MÉTODO 1
ACTIVAR PROGRAMADOR
MÉTODO 2
ATAJO
Código
• Aquí están los comandos necesarios para iniciar el Editor de Visual
Basic donde se puede escribir directamente código VBA.

• También nos permitirá ver la lista de macros disponibles para


ejecutarlas o eliminarlas y también encontrarás el comando Grabar
macro el cual nos permite crear una macro sin necesidad de saber
programación VBA.
Complementos

Nos permite administrar y habilitar todo tipo de complementos como el caso del
complemento Solver o las Herramientas para análisis.
Controles

Contiene comandos para agregar controles especiales a las hojas de Excel como
los controles de formulario que son botones, casillas de verificación, botones
de opción entre otros más que serán de gran utilidad para ampliar la funcionalidad de
Excel.
XML

Con estos comandos podremos importar datos de un archivo XML


y encontraremos opciones útiles para codificar y trabajar con
archivos XML.
SEGURIDAD EN MACROS

• La seguridad es un tema importante al hablar de


macros en Excel.
• Si abres algún archivo que contenga una macro maliciosa puedes causar
algún tipo de daño al equipo.
• De manera predeterminada Excel no permite ejecutar macros
automáticamente.
Métodos para llegar a
Configuración de Macros
MÉ TO DO 1 MÉ TO DO 2

• PASO A PASO DESDE • ATAJO


ARCHIVO
ARCHIVO

OPCIONES

MÉTODO 1
CENTRO DE CONFIANZA

CONFIGURACIÓN DE
CONFIANZA
CÓDIGO

SEGURIDAD EN MACROS

MÉTODO 2
Deshabilitar todas las macros sin notificación.

•Deshabilita las macros y permite ejecutar solamente aquellas que


estén almacenadas en un lugar confiable.

•Los lugares confiables se configuran en la sección Ubicaciones


de confianza del mismo cuadro de diálogo.
Deshabilitar todas las macros con notificación.

•Muestra una alerta de seguridad advirtiendo sobre la intención de


ejecutar una macro de manera que se pueda decidir si se desea
ejecutar.

• Esta es la opción predeterminada de


Excel.
Deshabilitar todas las macros excepto
las firmadas digitalmente.

• Solamente se podrán ejecutar las macros que están firmadas


digitalmente.
Habilitar todas las macros

Permite ejecutar todas las macros sin enviar alguna notificación al


usuario. Esta opción es útil si se ejecutan múltiples macros
totalmente confiables.

Esta opción es la que corre los mayores


riesgos al ejecutar una macro de una fuente
desconocida.
COMENZAR A TRABAJAR
CON GRABADOR DE
MACROS
Genera una Macro que escriba un nombre en la celda A2 ,
lo ponga negrita, copie y pegue ese nombre en la celdas: A3,
A4, A5 y A6
Genera una Macro que escriba su Matrícula en la
celda B1, en la celda A1 escriba MATRICULA, Centre
la información anterior, cambie de tamaño la letra a 30
puntos y autoajustar lo ancho de la celda.

Ejercicio individual
INTRODUCCIÓN A
VISUAL BASIC
VBA que es un lenguaje
Excel cuenta con
de programación que permite extender
las habilidades del programa para cubrir nuestros
requerimientos. Utilizando VBA se pueden
desarrollar nuevos algoritmos para analizar la
información o para integrar a Excel.
E X I S T E N A L M E N O S D O S A LT E R N AT I VA S PA R A A B R I R E S T E E D I T O R , L A P R I M E R A
D E E L L A S E S A T R AV É S D E L B O T Ó N V I S U A L B A S I C D E L A F I C H A P R O G R A M A D O R

A través del botón Visual Basic de


la ficha Programador.

En lo personal es el más sencillo y rápido y


que es a través del atajo de teclado: ALT +
F11
EXPLORADOR
DE
PROYECTOS

Nos ayuda a crear o abrir módulos de


código que se serán de gran utilidad
para reutilizar todas las funciones de
código VBA que vayamos
escribiendo.
• En la parte izquierda
se muestra
el Explorador de
proyectos el cual
muestra el proyecto
VBA creado para el
libro actual y además
muestra las hojas
pertenecientes a ese
libro de Excel.

Si por alguna razón no puedes visualizar este módulo puedes habilitarlo en la opción de
menú Ver y seleccionando la opción Explorador de proyectos.
VENTANA DE
PROPIEDADES
VENTANA DE
INMEDIATO

Dentro del Editor de Visual Basic puedes


observar una ventana llamada Inmediato
que está en la parte inferior.
Esta ventana es de mucha ayuda al
momento de escribir código VBA porque
permite introducir instrucciones y
observar el resultado inmediato
ANTES DE INICIAR MI PRIMERA MACRO
EN VBA

CONSIDEREMOS LO SIGUIENTE…
MACROS
SUBRUTINAS
COMENTARIOS

OBJETOS
PROPIEDADES PR I NC I PI OS
FUN DAMENTALE S
MÉTODOS
El primer concepto importante a entender dentro del VBA de Excel
es :

¿Qué es una macro?


Una macro es un conjunto de comandos que se almacena en un lugar
especial de Excel de manera que están siempre disponibles cuando los
necesites ejecutar, se utilizan principalmente para eliminar la necesidad de
repetir los pasos de aquellas tareas que realizas una y otra vez

Las macros se escriben en un lenguaje de computadora especial que es


conocido como Visual Basic for Applications (VBA). Este
lenguaje permite acceder a prácticamente todas las funcionalidades de Excel y
con ello también ampliar la funcionalidad del programa.
MACROS
SUBRUTINAS
COMENTARIOS

OBJETOS
PROPIEDADES PR I NC I PI OS
FUN DAMENTALE S
MÉTODOS
Subrutinas
Sub que es la abreviación de la palabra subrutina.
Una subrutina no es más que un conjunto de instrucciones que se ejecutarán una
por una hasta llegar al final de la subrutina que está especificado por la
instrucción End Sub.

Las subrutinas nos ayudan a agrupar varias


instrucciones de manera que podamos organizar
adecuadamente nuestro código.

Una subrutina siempre tiene un nombre el cual debe


ser especificado justo después de la
instrucción Sub y seguido por paréntesis
Objetos en visual basic
OBJETOS EN EXCEL (VBA)
Los objetos en Excel (VBA), son elementos de Excel.

Una celda es un objeto, una hoja es un objeto, un libro es un objeto y de esta manera existen
muchos más objetos en Excel. A esto lo conocemos como el modelo de objetos de Excel.

PROPIEDADES EN EXCEL
(VBA)
Un objeto de Excel tiene propiedades, las cuales son las características del objeto, por
ejemplo.

Una celda (Range) tiene las propiedades valor (Value) y dirección (Address) entre muchas
otras. Estas propiedades describen mejor al objeto.
MÉTODOS EN EXCEL (VBA)
Los métodos son las actividades o acciones que el objeto puede realizar. Los objetos de Excel se
comportan de la misma manera que el ejemplo de una persona.

Una celda (Range) tiene los métodos activar (Activate), calcular (Calculate), borrar
(Clear) entre muchos más.
OBJETOS
Para acceder a las propiedades y métodos de un objeto lo hacemos a través de una
nomenclatura especial.

Justo después del nombre del objeto colocamos un punto seguido del nombre de la
propiedad o del método.

Observa este ejemplo donde hacemos uso de la propiedad Value para la celda A1:

Range("A1").Value = "Hola"
Si queremos borrar ese valor que acabamos de colocar en la celda

Range("A1").Value = "Hola"

podemos utilizar el método Clear de la siguiente manera

Range("A1").Clear
Los objetos tienen muchas propiedades y métodos y a veces es difícil pensar que los llegaremos
a memorizar todos por completo.

Sin embargo, el Editor de Visual Basic es de gran ayuda porque justamente al momento de
escribir nuestro código nos proporciona la lista completa de propiedades y métodos para un
objeto.

E N L A I M A G E N D E A R R I B A LO S M É T O D O S S O N LO S Q U E T I E N E N E L I C O N O D E
C O LO R V E R D E Y L A S P R O P I E D A D E S S O N L A S Q U E T I E N E N E L I C O N O G R I S
C O N A Z U L ( M A N I TA ) .
Manejo de Manejo de
Rangos en la Rangos en
hoja de cálculo la hoja
 El objeto Range de
cálculo
 El objeto Cells

Análisis Avanzado de Datos Act. Mayra Lizeth Quiñones Ayala


 El objeto Range  El objeto Cells

Worksheets("Sheet1").Range("A1").Value = 1 Worksheets("Sheet1").Cells(1,1) = 9

(1,1)
renglón columna
A1
columna renglón

Análisis Avanzado de Datos Act. Mayra Lizeth Quiñones Ayala


 El objeto Range, Cells
Worksheets("Sheet1").Range(B3").Value = 3

Worksheets("Sheet1").Cells(4,2) = 5

Análisis Avanzado de Datos Act. Mayra Lizeth Quiñones Ayala


 Manejo de Rangos en la hoja de cálculo
Ejemplo 1:

Desarrolle 2 versiones distintas de Macros en Excel VBA que


generen la lista adjunta (una mediante el objeto Range y otra
mediante el objeto Cells).

Análisis Avanzado de Datos Act. Mayra Lizeth Quiñones Ayala


 Manejo de Rangos en la hoja de cálculo

Análisis Avanzado de Datos Act. Mayra Lizeth Quiñones Ayala


Manejo de
DECLARACIÓN
Rangos en
la hojaDE
Tipo de dato

Bytes Usados de
Rango de Valores cálculo
VARIABLES

Análisis Avanzado de Datos Act. Mayra Lizeth Quiñones Ayala


TIPOS DE DATOS EN VBA

Variable: Espacio en la memoria del ordenador donde se puede almacenar un valor que
podrá variar a lo largo de la ejecución de un programa

ENTEROS DECIMALES

CONDICIONAL MONEDA

TEXTO OBJETO
Declaración de variables

Objetivo: Optimizar el espacio que ocupan los datos en la memoria de la


computadora al correr las macros.

Tipo de dato Bytes Usados Rango de Valores

Boolean 2 Bytes "True" o "False"

Integer 2 Bytes -32,768 a 32,767


Long 4 Bytes -2,147,483,648 a
2,147,483,647
Single 4 Bytes -3.4E38 a –1.4E-45
1.4E-45 a 3.4E38

Double 8 Bytes -1.7E308 a –4.9E-324


4.9E-324 a 1.7E308

UANL 2017
Declaración de variables

Tipo de dato Bytes Usados Rango de Valores


Object 4 Bytes Cualquier objeto
Currency 8 Bytes Valores monetarios
Fecha 8 Bytes 01/01/100 a 31/12/9999
String 10 Bytes Cualquier cadena
alfanumérica
Variant 22 Bytes Cualquier cadena
(caracteres) alfanumérica
Reglas de nomenclatura de Visual Basic

 Por lo general, no debe usar ningún nombre que sea igual a los
nombres de función, instrucción, método

 El primer carácter tiene que ser una letra.

 No puede usar un espacio, un punto (.), un signo # de


exclamación (!) @ o & los $ caracteres,,, en el nombre.

 La longitud del nombre no puede exceder los 255 caracteres.

 No se pueden repetir nombres dentro del mismo nivel de ámbito. Sin embargo,
puede declarar una variable privada y una variable de nivel de
procedimiento denominada dentro del mismo módulo.
EQUIVALENCIA
TIPO DE MEMORIA RANGO DE
ABREVIATURA CON USADAS EN OBSERVACIONES
DATOS REQUERIDA VALORES
PSEUDOCÓDIGO
- 32768 a 32767 ó -
Integer 2 bytes ó 4 bytes según 2.147.483.648 a Uso en contadores,
% Entero
(Entero) versión 2.147.483.647 según control de bucles etc.
versión
- 2147483648 a
Igual que integer pero
Long 4 bytes ó 8 bytes según 2147483647 ó -9,2E+18
& Entero admite un rango más
(Entero largo) versión a 9,2E+18 según
amplio
versión
Hasta 6 decimales o
- 3,4·1038
Single más según versión.
! 4 bytes a Real
(Decimal simple) También admite
3,4·1038
enteros
Hasta 14 decimales o
- 1,79·10308
Double más según versión.
# 8 bytes a Real
(Decimal doble) También admite
1,79·10308
enteros
True False es el valor
Boolean
No tiene 2 bytes o Booleano predeterminado y va
(Booleano)
False asociado a cero
0
10 bytes + 1 byte Texto de longitud
String $ a Alfanumérica
por cada carácter variable
2·109 caracteres

Los del tipo double Admite números


Variant (Object en
No tiene Variable para números o los del No tiene enteros, decimales o
otras versiones)
tipo string para texto texto
Sintaxis de declaración e variables

En vba para declarar una variable se puede realizar de diferentes formas:v

Sintaxis de declaración e variables

La palabra reservada del lenguaje Dim


No puede haber dos variables con el mismo nombre
Los nombres de los variables deben empezar por una letra y no por caracteres
extraños o números
Declaración de variables

Ejemplo:

Variable
Global
Variables
locales

Variable tipo Operador de


Variant Concatenación

UANL 2017
Declaración de variables

Declaración forzosa de variables: Option Explicit On

Ejercicio: Incorpore la instrucción "Option Explicit" en el módulo anterior.


¿Qué habría que hacer para que la subrutina "Prueba“ funcione?

UANL 2017
•DECLARACIÓN DE VARIABLES
Una expresión como Dim i!, j%, k& equivale:

Dim i As Single, j As Integer, k As Long.

¿Lo anterior lo valida vba Excel?


Ejercicio:
Dim A%,B%
A= 7*B
El resultado será ……
VARIABLE LOCAL O DE PROCEDIMIENTO:
DIM O STATIC

Se podrá declarar una variable local de procedimiento con una instrucción Dim o Static.

Cuando definimos o declaramos una variable local con la


instrucción Dim, la variable permanece en memoria sólo mientras se
ejecuta el procedimiento en el que la hemos declarado, y por tanto,
normalmente, cuando termina el procedimiento de ejecución, no se
conservan los valores de las variables locales del procedimiento y se
libera la memoria asignada a esas variables. La próxima vez que se
ejecute el procedimiento, se reinicializarán todas las variables locales
declaradas.
VARIABLE LOCAL O DE PROCEDIMIENTO:
DIM O STATIC

La variable 'Acum' conserva su valor cada vez que se ejecuta.


Por ejemplo
La primera vez que se ejecuta el módulo, introducimos en el cuadro el valor 10, el MsgBox
mostrará el valor 10 (lógicamente)... si la siguiente vez que se ejecuta el módulo,
introducimos el valor 20, el MsgBox mostrará el valor de 30 (10+20...) !!.
VARIABLE EN TODOS LOS PROCEDIMIENTOS DE UN MÓDULO:
MÓDULO

Una variable que es reconocida en todos los procedimientos en un


módulo se denomina una variable de Módulo.

Una variable de nivel de módulo está disponible para todos los


procedimientos de ese mismo módulo, pero no está disponible para los
procedimientos de otros módulos.

 Se pueden declarar variables de ámbito de módulo con una


instrucción Dim o Private en la parte superior del módulo, encima de la
primera definición de procedimiento.

 No hay ninguna diferencia entre Dim y Private


VARIABLE EN TODOS MÓDULOS:
PUBLIC

 Una variable pública es reconocida por todos los módulos del libro de trabajo
activo.

 Una variable pública se declara igual que una variable de ámbito de módulo, es
decir, en la parte superior del módulo, encima de la primera definición de
procedimiento.

 NO se puede declarar una variable pública dentro de un procedimiento. Siempre se


declara una variable pública con una instrucción Public (podremos declarar una
variable pública en cualquier módulo).

También podría gustarte