Está en la página 1de 37

DESCRIPCIÓN BREVE

Herramientas avanzadas

Marcvs
Guia de Participante
EXCEL
AVANZADO
Taller Excel Avanzado
Contenido
EXCEL AVANZADO ......................................................................................................................... 1
OBJETIVO ................................................................................................................................... 1
LA FICHA DESARROLLADOR ....................................................................................................... 1
EL LENGUAJE VISUAL BASIC PARA APLICACIONES ........................................................................ 2
LAS MACROS.............................................................................................................................. 2
PROGRAMACIÓN ORIENTADA A OBJETOS .................................................................................... 4
OBJETOS .................................................................................................................................... 4
JERARQUÍA DE OBJETOS............................................................................................................ 4
REFERENCIA A OBJETOS ............................................................................................................ 5
PARTES DEL EDITOR DE VISUAL BASIC .......................................................................................... 6
MENÚ DEL EDITOR DE VISUAL BASIC ........................................................................................ 6
BARRA DE HERRAMIENTAS DEL EDITOR DE VISUAL BASIC ....................................................... 6
VENTANA DE PROYECTO DEL EDITOR DE VBA: ......................................................................... 7
LA VENTANA DE PROPIEDADES. ................................................................................................ 7
ÁREA DE TRABAJO DEL EDITOR DE VBA: ................................................................................... 8
IMPORTANCIA DEL EDITOR VISUAL BASIC EN EXCEL ................................................................ 8
MÓDULOS ..................................................................................................................................... 9
LA CARPETA MICROSOFT EXCELOBJETOS ................................................................................. 9
LA CARPETA FORMULARIOS ...................................................................................................... 9
LA CARPETA MÓDULOS ............................................................................................................. 9
LA CARPETA MÓDULOS DE CLASE ............................................................................................. 9
INSERTAR MÓDULOS................................................................................................................. 9
ELIMINAR UN MÓDULO .......................................................................................................... 10
PROCEDIMIENTOS ....................................................................................................................... 11
CREAR PROCEDIMIENTOS SUB ................................................................................................ 11
CREAR PROCEDIMENTOS FUNCTION ...................................................................................... 12
LAS VARIABLES ............................................................................................................................ 14
UNA VARIABLE ES EL ELEMENTO DEL CÓDIGO QUE USAMOS PARA GUARDAR UN VALOR
TEMPORAL............................................................................................................................... 14
TIPOS DE VARIABLES ............................................................................................................... 14
NUMÉRICAS ............................................................................................................................. 14
CADENAS DE CARACTERES ...................................................................................................... 14
OPERADORES............................................................................................................................... 16
OPERADORES ARITMÉTICOS VBA ............................................................................................ 16
OPERADORES DE COMPARACIÓN VBA ................................................................................... 17
OPERADORES LÓGICOS EN VBA .............................................................................................. 18
FORMULARIO .............................................................................................................................. 19
VENTANA UserForm ................................................................................................................ 19
CUADRO DE HERRAMIENTAS ...................................................................................................... 22
ETIQUETAS (LABEL) ................................................................................................................. 23
CUADRO DE TEXTO (TEXTBOX)................................................................................................ 24
BOTÓN DE COMANDO (COMMANDBUTTON) ........................................................................ 24
El COMBOBOX ......................................................................................................................... 25
ESTRUCTURAS DE CONTROL ....................................................................................................... 28
ESTRUCTURAS SECUENCIALES................................................................................................. 28
SENTECNIAS DE CONTROL ....................................................................................................... 28
SENTENCIA IF ... THEN ... ELSE ... ............................................................................................. 29
ACTIVECELL (CELDA ACTIVA) ................................................................................................... 31
DIFERENCIA ENTRE RANGE Y CELLS ........................................................................................ 31
SENTENCIA ITERATIVA (CICLO) DO … LOOP ............................................................................ 32
SETENCIA FOR NEXT ................................................................................................................ 34
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

EXCEL AVANZADO
• Carpintería en Melamina

• Computación e Informática

• Confección Textil El curso está dirigido a usuarios que utilizan Excel como su herramienta de trabajo
• Cosmetología y Peluquería

• Electricidad y Electrónica
habitual, y desean potenciar, personalizar su entorno de trabajo, así como automatizar


Mecánica Automotriz y Motos

Mecánica de Producción
tareas para poderlas realizar de manera rápida y precisa, optimizar su manejo mediante el


Panadería y Pastelería

Tejidos a Maquina
uso de herramientas avanzadas, también la necesidad en el manejo de macros.

OBJETIVO
Mejorar la competencia en el empleo de la hoja de cálculo Excel para la resolución de
problemas, planificar soluciones a los problemas de gestión más frecuentes del ambito
laboral y la empresa.
El curso de Excel Avanzado y VBA le permite al usuario conocer el funcionamiento de
las macros de Excel y Aplicaciones para Excel.

LA FICHA DESARROLLADOR
Desarrollador es una de las fichas de la cinta de opciones de la versión 2019, 2016, 2013
de Office, que en las versiones 2007 y 2010 se denominaba Programador. En ella,
encontraremos los comandos que emplearemos para crear, editar y ejecutar macros, así
como lo necesario para gestionar complementos y crear formularios.
Por defecto, la ficha Desarrollador no se encuentra visible, por lo tanto, lo primero que
haremos para trabajar con macros es activarla. Para activarla en Excel 2013, vamos a la
ficha Archivo y seleccionamos Opciones. En la parte izquierda del cuadro de diálogo
Opciones de Excel, seleccionamos Personalizar cinta de opciones y, en la sección
Pestañas Principales, marcamos la casilla de verificación de la ficha Desarrollador para
hacerla visible y, por último, pulsamos Aceptar.

1
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE


Carpintería en Melamina

Computación e Informática
EL LENGUAJE VISUAL BASIC PARA APLICACIONES
• Confección Textil

• Cosmetología y Peluquería

• Electricidad y Electrónica
Como seguramente sabemos, Excel es una potente aplicación incluida en el paquete


Mecánica Automotriz y Motos

Mecánica de Producción
Microsoft Office que nos proporciona herramientas y funciones destinadas a analizar,


Panadería y Pastelería

Tejidos a Maquina
compartir y administrar datos. Además, Excel nos ofrece amplias posibilidades para
automatizar tareas que realizamos de manera cotidiana, y para crear aplicaciones basadas
en el procesamiento y el análisis de datos numéricos por medio de la creación de macros.
Visual Basic para Aplicaciones (Visual Basic for Aplications), también conocido por su
abreviatura VBA, es un lenguaje de programación común a todas las aplicaciones del
paquete Microsoft Office, como así también en otros programas como Corel Draw y otros

La diferencia entre Visual Basic y Visual Basic para Aplicaciones radica en que el
primero nos permite, entre otras cosas, realizar ejecutables que se pueden instalar en
cualquier computadora bajo el entorno Windows. En cambio, VBA solo permite escribir
instrucciones que se ejecutarán dentro del entorno Excel.

LAS MACROS

Venimos mencionando el término macro, pero ¿qué es una macro?


Podemos decir que una macro es una secuencia de instrucciones escritas en lenguaje VBA
que se almacenan en un módulo. Cuando invocamos una macro, ya sea presionando un
botón o una combinación de teclas, se desencadenarán las instrucciones almacenadas en
ella.

2
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

• Carpintería en Melamina

• Computación e Informática

• Confección Textil

• Cosmetología y Peluquería

• Electricidad y Electrónica

• Mecánica Automotriz y Motos

• Mecánica de Producción

• Panadería y Pastelería

• Tejidos a Maquina

3
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

PROGRAMACIÓN ORIENTADA A OBJETOS


• Carpintería en Melamina

• Computación e Informática


Confección Textil

Cosmetología y Peluquería
Visual Basic para Aplicaciones es un lenguaje de programación orientada a objetos
• Electricidad y Electrónica
(POO). Este concepto de programación se basa en la existencia de un mundo lleno de
• Mecánica Automotriz y Motos

• Mecánica de Producción objetos. Excel, al igual que el resto de las aplicaciones de Microsoft Office, nos ofrece un
modelo de objetos que podremos manipular con VBA para cambiar sus propiedades. Por
• Panadería y Pastelería

• Tejidos a Maquina

ejemplo, podemos cambiar los atributos de la fuente (nombre, tamaño, color) o, mediante
métodos como Seleccionar, copiar un conjunto de datos.

OBJETOS

Cada elemento de Excel es un objeto: un libro (Workbook), las hojas de cálculo


(Worksheet), los rangos (Range), los gráficos (Charts) o una tabla dinámica (PivotTable)
son algunos ejemplos de objetos del modelo de objetos de Excel.

JERARQUÍA DE OBJETOS

El modelo de objetos de Excel está compuesto por más de 192 objetos diferentes, algunos
de ellos están ocultos, y otros se usan muy poco o se dejaron de utilizar.
Los objetos de Excel pueden contener otros objetos, y, a su vez, estos pueden contener
otros objetos. Esto significa que tenemos un cierto orden o jerarquía.

En este diagrama, vemos las colecciones de objetos más relevantes y su relación


jerárquica.

Libro
(Workbook)

Hoja
(Worksheet)

Celda
(Range)

Por ejemplo, cuando abrimos Excel, estamos abriendo una aplicación VBA representada
por el objeto Application, y, al mismo tiempo, estamos abriendo un libro representado
por el objeto Workbook, que contiene una hoja activa representada por el objeto
Woksheet, y a su vez se activa una celda representada por el objeto Range La disposición
jerárquica de estos objetos se llama modelo de objetos de Excel, que está relacionado con
la interfaz de usuario.

4
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

• Application (aplicación): es el primer objeto en la jerarquía. Representa a la


• Carpintería en Melamina
aplicación Excel. Este objeto actúa como contenedor de los demás objetos de Excel,
• Computación e Informática por ejemplo: el libro, las hojas de cálculo, las celdas, los gráficos y muchos otros


Confección Textil

Cosmetología y Peluquería
más. Por medio de este objeto, podemos acceder a las opciones de Excel como la
• Electricidad y Electrónica de elegir si el cálculo es manual o automático, entre otras.
• Mecánica Automotriz y Motos

• Mecánica de Producción

• Panadería y Pastelería
• Workbook (libro de trabajo): representa a un libro abierto dentro de la aplicación
• Tejidos a Maquina

Excel. Este objeto se encuentra contenido en el objeto Application y mediante él


podemos, por ejemplo, abrir un libro de trabajo, guardarlo, protegerlo o enviarlo a
imprimir. El objeto Workbook es un miembro de la colección Workbooks.

• Worksheet (las hojas de cálculo): siguiendo el orden jerárquico, en tercer lugar


tenemos el objeto Worksheet, que representa las hojas del libro con el que estamos
trabajando. Con este objeto podemos, por ejemplo, cambiar el nombre de las hojas,
insertar o eliminar hojas, protegerlas, etcétera.

• Range (celda): este objeto es el que representa todas las celdas de la hoja, así como
todas sus columnas y filas, los rangos, la selección de las celdas. Con este objeto
podemos manipular todo lo relacionado con una celda o grupo de celdas, introducir
valores, realizar operaciones, insertar celdas, entre otras cosas.
REFERENCIA A OBJETOS
Hacemos referencia a los objetos de Excel según la posición jerárquica que estos ocupan
en el modelo de objetos y empleamos el punto para separar el objeto contenedor de uno
o varios objetos. Es decir, el punto nos servirá para navegar por la jerarquía de objetos.
Por ejemplo, para hacer referencia a un libro de Excel llamado Planilla.xlsx, escribimos
la siguiente sentencia:

Application.Workbooks(“planilla.xlsm”)

Si, por ejemplo, quisiéramos hacer referencia a la celda A1 de la hoja Datos del libro
Planilla.xlsx, debemos indicar toda la ruta de la jerarquía del modelo de objetos:

Application.Workbooks(“planilla.xlsm”).Worksheets(“datos”).Range(“A1”).Select

Para simplificar este procedimiento, podemos omitir la referencia Application en la


mayoría de los casos. Esto es posible debido a que es el primer objeto de la estructura
jerárquica y es el que contiene al resto de los objetos. Por lo tanto, también podemos hacer
referencia a la celda A1, de una manera más sencilla, por medio del código que
presentamos a continuación:

Workbooks(“planilla.xlsm”).Worksheets(“datos”).Range(“A1”).Select

Además, podemos omitir la referencia específica a un objeto si ese objeto se encuentra


activo. Es decir, si solo tenemos un libro abierto, podemos omitir la referencia
Workbooks. Siguiendo el ejemplo anterior, si el único libro abierto es Planilla.xlsx,
podemos hacer referencia a la celda A1 por medio del siguiente código:

Worksheets(“datos”).Range(“A1”).Select

Y algo más simple aún, si sabemos que la hoja activa es Datos, también es posible omitir
el objeto Worksheets:

Range(“A1”).Select

5
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

PARTES DEL EDITOR DE VISUAL BASIC


• Carpintería en Melamina

• Computación e Informática El Microsoft Visual Basic Editor para aplicaciones de Excel es un programa que permite


Confección Textil

Cosmetología y Peluquería
la creación y modificación de macros en Excel. A pesar de ser programas distintos, su
• Electricidad y Electrónica trabajo conjunto facilita y mejora la eficiencia del trabajo realizado en el Excel.
• Mecánica Automotriz y Motos

• Mecánica de Producción

• Panadería y Pastelería El Visual Basic Editor cuenta con distintos barras y menús: Barra de menú, Barra de
• Tejidos a Maquina

herramientas, Ventana de proyecto y el área de trabajo.

MENÚ DEL EDITOR DE VISUAL BASIC


En la parte superior de la ventana se encuentran las opciones generales del programa,
como las clásicas (Archivo, Edición, Ver, Insertar, Ventana y Ayuda) y las especializadas
(Depuración, Ejecutar, Complementos).

BARRA DE HERRAMIENTAS DEL EDITOR DE VISUAL BASIC


Debajo de la barra de menú, se encuentra la barra de herramientas. En orden, los botones
son:

Ver <aplicación principal >, Insertar (UserForm, Módulo, Módulo de clase,


Procedimiento), Guardar, Cortar, Copiar, Pegar, Buscar, Deshacer, Rehacer,
Ejecutar Sub/UserForm o Ejecutar macro, Interrumpir, Restablecer <proyecto>, Modo
de diseño, Explorador de proyectos, Ventana de Propiedades, Examinador de objetos,
Cuadro de herramientas, Asistente de Office.

Para añadir o retirar algunas de las barras de herramientas se puede ir a la opción VER,
luego "Barra de Herramientas", tal como se muestra en la siguiente imagen

6
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

• Carpintería en Melamina
VENTANA DE PROYECTO DEL EDITOR DE VBA:
• Computación e Informática


Confección Textil

Cosmetología y Peluquería
En esta ventana que se encuentra al lado izquierdo de la pantalla, hay 3 botones: Ver
• Electricidad y Electrónica
código, Ver objeto y Alternar carpetas. Debajo de estos botones, se encuentran numeradas


Mecánica Automotriz y Motos

Mecánica de Producción
las hojas del libro de Excel que se esta usando y en las cuales se pueden ingresar


Panadería y Pastelería

Tejidos a Maquina
funciones.

LA VENTANA DE PROPIEDADES.
(Ver→Ventana de Propiedades o F4), esta aparecerá debajo de la ventana del proyecto.
En esta se pueden apreciar las características de la hoja de trabajo activa que se
encuentran en el libro que se esta editando.

7
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

• Carpintería en Melamina
ÁREA DE TRABAJO DEL EDITOR DE VBA:
• Computación e Informática


Confección Textil

Cosmetología y Peluquería
El resto del espacio esta dedicado a una hoja donde se escribirán los comandos que
• Electricidad y Electrónica
servirán para programar las funciones que caracterizarán el macros que se está creando.
• Mecánica Automotriz y Motos

• Mecánica de Producción Para acceder a esta área puede hacer doble click sobre cualquiera de los elementos de la


Panadería y Pastelería

Tejidos a Maquina
ventana de proyectos.

IMPORTANCIA DEL EDITOR VISUAL BASIC EN EXCEL

1) Es la interfaz que permite la creación de las macros, desde el editor se puede crear,
reutilizar, o modificar diversos programas que se puedan emplear.

2) Es una interfaz sencilla de emplear, esta simplicidad se ha conservado desde las


primeras versiones, mientras que las diversas interfaces ha ido cambiando paulatinamente
con cada versión de Excel, esta se ha mantenido, en la versión más reciente
de Excel (en el editor de visual basic de Excel 2019) aún se conserva a misma interfaz.

8
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

MÓDULOS
• Carpintería en Melamina


Computación e Informática

Confección Textil
El código VBA asociado a un libro está agrupado en un proyecto que contiene varias
• Cosmetología y Peluquería carpetas:
• Electricidad y Electrónica

• Mecánica Automotriz y Motos

• Mecánica de Producción LA CARPETA MICROSOFT EXCELOBJETOS


• Panadería y Pastelería

• Tejidos a Maquina

Contiene un módulo de clase asociado al libro del proyecto (llamado por defecto
ThisWorkbook) y un módulo de clase por cada una de las hojas de cálculo u hojas de
gráfico del libro. En particular, en estos módulos de clase se encuentran los
procedimientos de eventos asociados al libro y a las hojas.

LA CARPETA FORMULARIOS
Contiene los formularios (UserForm) del proyecto y el código VBA asociado.

LA CARPETA MÓDULOS
Agrupa los diferentes módulos estándares (compuestos por uno o más procedimientos)
que pueden ser llamados desde cualquier procedimiento del proyecto.

LA CARPETA MÓDULOS DE CLASE


La lista de todos los módulos aparece en forma jerárquica en el Explorador de proyectos
del entorno VBA.

• Si el explorador de proyectos no está visible, elija la opción Explorador de


proyectos del menú Ver o pulse el método abreviado [Ctrl] R.

• Para ver el código asociado a un módulo, haga doble clic sobre el nombre del
módulo.

INSERTAR MÓDULOS
Al trabajar con procedimientos es conveniente organizar el Código en módulos.

Para agregar un modulo al proyecto, dentro del editor de VBA, vamos al menú Insertar y
seleccionamos Módulo.

9
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

Al insertar el módulo, VBA le asigna un nombre por defecto, en este caso Módulo1, pero
• Carpintería en Melamina
podemos modificarlo a través de la ventana Propiedades. Para esto, seleccionamos el
• Computación e Informática Módulo1 en el Explorador de proyectos, vamos a la ventana Propiedades, hacemos clic


Confección Textil

Cosmetología y Peluquería
en Name, y escribimos un nombre nuevo.
• Electricidad y Electrónica

• Mecánica Automotriz y Motos

• Mecánica de Producción

• Panadería y Pastelería

• Tejidos a Maquina

ELIMINAR UN MÓDULO
Si necesitamos eliminar un módulo del proyecto, debemos realizar un procedimiento muy
sencillo. Primero, debemos dirigirnos al Explorador de proyectos y tenemos que
seleccionar el módulo que queremos eliminar.

Luego, hacemos un clic con el botón derecho del mouse y, en el menú que se abre,
seleccionamos Quitar Ejemplo....

A continuación, aparecerá un cuadro de diálogo que nos preguntará si deseamos exportar


el módulo antes de eliminarlo. Pulsamos No, y entonces el módulo se habrá eliminado.

10
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

PROCEDIMIENTOS
• Carpintería en Melamina


Computación e Informática

Confección Textil
Los procedimientos son subprogramas que permiten descomponer una tarea de
• Cosmetología y Peluquería programación compleja en un conjunto de tareas más breves y simples. Permiten


Electricidad y Electrónica

Mecánica Automotriz y Motos


organizar el código dentro de módulos para obtener un código de mantenimiento más
• Mecánica de Producción simple y fácilmente reutilizable.
• Panadería y Pastelería

• Tejidos a Maquina

En VBA Excel, se distinguen tres tipos de procedimientos:


• Los procedimientos Sub (por subrutina) se llaman subprogramas o
Procedimientos Sub.
• Los procedimientos Function se llaman funciones.
• Los procedimientos Property se llaman procedimientos de propiedad.

En este capítulo, solamente nos interesan los dos primeros, que son los más utilizados.

• Puntos comunes entre procedimientos Sub y funciones:


o ambos contienen instrucciones y/o métodos VBA.
o Ambos aceptan argumentos.A
o Ambos se pueden llamar desde otras funciones o procedimientos Sub.
• Característica específica de las funciones:
o Devuelven valores.
CREAR PROCEDIMIENTOS SUB
Para crear un procedimiento Sub, podemos hacerlo escribiendo directamente en la
ventana Código. En el siguiente Paso a paso, veremos cómo generar un simple
procedimiento que nos permite ingresar en la celda activa un nombre con fuente Comic
Sans Ms, en tamaño 9, color Rojo y alineación centrada.

• Abra un nuevo libro de Excel, ingrese al Editor de Visual Basic e inserte un nuevo
módulo. En la ventana Código, escriba la palabra Sub y, a continuación, dejando
un espacio, el nombre del procedimiento, por ejemplo: Mi_Nombre.

• A continuación, presione ENTER. El editor de VBA añade después del nombre


unos paréntesis y, luego, inserta una nueva línea con las instrucciones End Sub.

• Escriba entre estas dos líneas el código que muestra la imagen, que le aplicará el
formato al nombre.

11
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

CREAR PROCEDIMENTOS FUNCTION


• Carpintería en Melamina

• Computación e Informática Al igual que como vimos en los procedimientos Sub, los procedimientos Function los
• Confección Textil

• Cosmetología y Peluquería podemos crear en cualquier objeto contenedor de código. También es algo muy sencillo


Electricidad y Electrónica

Mecánica Automotriz y Motos


de realizar, pero para entenderlo de manera clara y aprenderlo bien desde el principio,


Mecánica de Producción

Panadería y Pastelería
vamos a hacerlo través de un pequeño ejercicio.
• Tejidos a Maquina
En el Paso a paso, que presentamos a continuación, describimos en detalle el
procedimiento que debemos realizar para crear una función en un módulo que nos
permitirá calcular el igv de una cantidad monetaria.

• En un nuevo libro, ingrese al Editor de Visual Basic e inserte un módulo. En la


ventana Código, escriba Function y, a continuación, dejando un espacio, el
nombre del procedimiento, por ejemplo: calculo_igv (Cantidad).

• Una vez ingresado el nombre, presione ENTER. El editor de VBA añade unos
paréntesis después del nombre y, a continuación, inserta una nueva línea con las
instrucciones End Function.

• Entre estas dos líneas, escriba el código que se muestra en la imagen, que contiene
la fórmula para calcular el igv.

Como vimos antes, podemos utilizar la sentencia Exit Function para salir de una función
antes de que esta finalice. Por ejemplo, tenemos la función calculo_igv que espera recibir
un valor positivo y mayor que cero para realizar el cálculo. Entonces, si el valor recibido
es menor que cero, la función no podrá continuar, mostrará un mensaje de error y, como
consecuencia, saldrá de la función de inmediato.

12
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

Por lo tanto, para detener la ejecución de la función cuando recibe un valor menor que
• Carpintería en Melamina
cero, empleamos la sentencia Exit Function como muestra la siguiente sintaxis:
• Computación e Informática

• Confección Textil


Cosmetología y Peluquería

Electricidad y Electrónica
Function calculo_igv(Cantidad)
• Mecánica Automotriz y Motos If Cantidad <= 0 Then
• Mecánica de Producción

• Panadería y Pastelería MsgBox "Ingresar un número mayor que 0"


• Tejidos a Maquina

Exit Function
Else
R = Cantidad * 0.18
calculo_igv = R
End If
End Function

13
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

LAS VARIABLES
• Carpintería en Melamina

• Computación e Informática A menudo necesitaremos guardar valores temporalmente cuando realicemos cálculos con


Confección Textil

Cosmetología y Peluquería
VBA. Por ejemplo, podemos almacenar los valores de las ventas y gastos totales de un
• Electricidad y Electrónica negocio para luego usarlos en un cálculo de margen de ganancia.
• Mecánica Automotriz y Motos

• Mecánica de Producción

• Panadería y Pastelería UNA VARIABLE ES EL ELEMENTO DEL CÓDIGO QUE USAMOS


• Tejidos a Maquina

PARA GUARDAR UN VALOR TEMPORAL


Una variable es el elemento del código que empleamos para guardar valores o
información temporal que luego usaremos en la ejecución de un programa. El contenido
que se guarda en la variable es la información que queremos manipular y se llama valor
de la variable.
Podemos decir que las variables son las palabras mediante las cuales vamos a hacer
referencia a una determinada información dentro de nuestro programa. El uso de variables
se debe a que, en muchas ocasiones, no tendremos la información que queremos
manipular de antemano, sino que esta se va a generar o a solicitar en un determinado
momento. Por ejemplo, podemos pedirle al usuario, mientras se ejecuta el programa, que
ingrese la cantidad vendida de un producto.
Luego, esta información la guardamos bajo el nombre c_vendida. De esta manera, a lo
largo del desarrollo del programa, cuando tengamos que referirnos a la cantidad vendida
que ingresó el usuario, simplemente hacemos referencia a c_vendida, en lugar de indicar
la cantidad real ingresada por dicho usuario.

Las variables permiten almacenar valores intermedios durante la ejecución del código
VBA para usarlos luego en cálculos, comparaciones, pruebas…
Las variables se identifican por un nombre que permite hacer referencia al valor que
contienen, y un tipo que determina la naturaleza de los datos que pueden almacenar.

TIPOS DE VARIABLES
NUMÉRICAS
Tipo Rango Tamaño en bytes
Byte 0 a 255 1
Integer (entero) -32.768 a 32.767 2
Long (entero largo) -2.147.483.648 a 2.147.483.647 4
Single (real simple de coma 3,402823E38 a 1,401298E45 4
flotante) (valores negativos)
1,401298E45 a 3,402823E38
(valores positivos)
Double (real doble de coma 1,79769313486231E308 a 8
flotante) 4,94065645841247E324
(Valores negativos)
4,94065645841247E324 a
1,79769313486231E308
(valores positivos)
Currency (monetario de punto 8
fijo)
Decimal 12

CADENAS DE CARACTERES
Es el tipo String, existen dos tipos de cadenas:
• Las cadenas de longitud variable pueden contener aproximadamente dos mil
millones de caracteres.
• Las cadenas de longitud fija pueden contener de 1 a aproximadamente 64 KB de
caracteres.

14
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

Ejemplo de variables numéricas.


• Carpintería en Melamina

• Computación e Informática Integer


• Confección Textil

• Cosmetología y Peluquería

• Electricidad y Electrónica Las variables definidas como Integer pueden almacenar números enteros en el rango de


Mecánica Automotriz y Motos

Mecánica de Producción
valores de -32768 a 32767. Los enteros se almacenan en memoria como 2 bytes. Por
• Panadería y Pastelería ejemplo, para declarar la variable cantidad como Integer, usamos la siguiente sentencia:
• Tejidos a Maquina

Dim cantidad As Integer

Double

Las variables definidas como Double pueden almacenar números reales de 64 bits con
una precisión de 16 decimales que van de
-1.79769313486231E308 a -4,94065645841247E-324 para valores negativos y de
4,94065645841247E-324 a 1,79769313486232E308
para valores positivos. Por ejemplo, si queremos una variable llamada distancia que nos
permita almacenar la distancia entre la tierra y el sol, usamos la siguiente sentencia:

Dim distancia As Long

Veamos un ejemplo de cadenas de longitud variable y fija.

' Cadena de longitud variable


Dim sDomicilio As String

' Cadena de longitud fija (20 caracteres)


Dim sNombre As String * 20

15
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

OPERADORES
• Carpintería en Melamina

• Computación e Informática OPERADORES ARITMÉTICOS VBA


• Confección Textil

• Cosmetología y Peluquería

• Electricidad y Electrónica En programación VBA Excel una expresión es una fórmula aritmética que permite


Mecánica Automotriz y Motos

Mecánica de Producción
calcular un valor, cuando se construye la formula se debe tener en cuenta la jerarquía de
• Panadería y Pastelería operadores. La jerarquía de operadores determina el orden en el que se resuelven las
• Tejidos a Maquina

expresiones cuando se involucran operaciones aritméticas como la suma, resta,


multiplicación, división, potencia, raíz y módulo de la división. Este orden es el que
permite que una expresión aritmética cualquiera siempre tenga la misma interpretación
ya sea resolviéndola en papel, en calculadora o en el computador.

Jerarquía de operadores

Ejemplos jerarquía de operadores

Cuando dos operadores tienen el mismo nivel de prioridad, dentro de una expresión se
evalúan de izquierda a derecha.

Cuando se desea asignar un orden específico de ejecución en una expresión aritmética, se


debe emplear los paréntesis para agrupar, de esta manera, las operaciones que se
encuentren dentro del paréntesis serán las primeras en ejecutarse.

16
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

OPERADORES DE COMPARACIÓN VBA


• Carpintería en Melamina

• Computación e Informática Los Operadores de comparación en VBA se usan para comparar dos cantidades y el


Confección Textil

Cosmetología y Peluquería
programa te muestra el resultado de la comparación en una expresión de verdad; es decir,
• Electricidad y Electrónica el resultado sera verdadero o falso (True or False).
• Mecánica Automotriz y Motos

• Mecánica de Producción

• Panadería y Pastelería Operadores de comparación Numéricos: Para toda expresión de comparación se utilizan
• Tejidos a Maquina

los siguientes operadores de comparación (6 operadores de comparación numéricos):

Expresión
Operador Significado condicional Descripción
Devuelve True si el valor a su
lblVentas:Caption > izquierda es numérica o
> Mayor que
Objetivo alfabéticamente mayor que el
que está a su derecha
Devuelve True si el valor a su
izquierda es numérica o
< Menor que Pago < 2000.00
alfabéticamente menor que el
que está a su derecha
Devuelve True si los valores
= Igual a Edad = Limite
comparados son iguales
Devuelve True si el valor a su
Mayor o igual izquierda es numérica o
>= Nombre >= “Miguel”
que alfabéticamente igual o mayor
que el que está a su derecha
Devuelve True si el valor a su
Menor o igual Num <= izquierda es numérica o
<=
que lblMonto.Caption alfabéticamente menor o igual
que el que está a su derecha
Devuelve True si el valor a su
izquierda es numérica o
<> Distinto de TxtRes.Text <> “Si”
alfabéticamente distinto al que
está a su derecha.

Ejemplos de Operadores de Comparación

12 > 45, False


45 > 32, True
78 < 145, True
204 < 200, False
78 = 78, True
46 = 64, False
89 >= 25, True
67 >= 67, True
25 >= 97, False
98 <= 69, False
12 <= 76, True
78 <> 78, False
46 <> 15, True

17
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

OPERADORES LÓGICOS EN VBA


• Carpintería en Melamina

• Computación e Informática Los operadores lógicos permiten establecer condiciones entre expresiones, estas


Confección Textil

Cosmetología y Peluquería
expresiones pueden ser verdaderas o falsas, y según estas el resultado del operador puede
• Electricidad y Electrónica ser verdadero o falso. Los operadores lógicos que se pueden manejar en Excel con VBA


Mecánica Automotriz y Motos

Mecánica de Producción
son los siguientes:
• Panadería y Pastelería

• Tejidos a Maquina

• Conjunción (And)
El resultado de este operador es verdadero si todas las expresiones son
verdaderas, caso contrario el resultado es falso.

Este operador se puede implementar en VBA dentro de una macro o UDF


escribiendo:
OperadorAnd = arg1 And arg2

• Disyunción (Or)
El resultado de este operador es verdadero si al menos una de las
expresiones es verdadera. Si todas son falsas el resultado será falso.

Este operador se puede implementar en VBA dentro de una macro o UDF


escribiendo:
OperadorOr = arg1 Or arg2

Ejemplos:

Funciones UDF de los operadores lógicos:

-Conjunción: Un alumno está aprobado si su trabajo y su examen están


aprobados, caso contrario esta desaprobado

Function Aprobado(nota1, nota2)


Aprobado = (nota1 >= 10.5) And (nota2 >= 10.5)
End Function

-Disyunción: Al menos una fuente de energía (batería o tomacorriente) debe estar


activa para que funcione el celular

Function EnergiaCelular(fuente1, fuente2)


EnergiaCelular = fuente1 Or fuente2
End Function

18
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

• Carpintería en Melamina
FORMULARIO
• Computación e Informática


Confección Textil

Cosmetología y Peluquería
Los formularios, llamados también cuadros de diálogos personalizados, son ventanas


Electricidad y Electrónica

Mecánica Automotriz y Motos


editables que contienen objetos de menor jerarquía, tales como botones, cuadros de textos,
• Mecánica de Producción
textos estáticos y lista de opciones, entre otros. Se los emplea para mostrar información
• Panadería y Pastelería

• Tejidos a Maquina y para permitirle al usuario introducir o seleccionar contenido. Se les puede asociar una
combinación de código VBA y de datos para responder a las acciones del usuario. Un
libro de trabajo puede tener cualquier cantidad de formularios.

VENTANA UserForm

Permite crear las ventanas o los cuadros de diálogo de un proyecto. Puede dibujar y ver
los controles de un formulario.

Durante el diseño de los formularios:


• Todas las ventanas de formulario contienen los
botones Maximizar, Minimizar y Cerrar.
• Puede ver la cuadrícula del formulario y determinar el tamaño de las líneas de la
cuadrícula en la ficha General del cuadro de diálogo Opciones .
• Use los botones del cuadro de herramientas para dibujar controles en el
formulario. Puede establecer los controles para que se alineen con la cuadrícula
del formulario en la ficha General del cuadro de diálogo Opciones .

Insertar un formulario

Para agregar un formulario a un proyecto, desde la ventana del Editor de Visual Basic
para Aplicaciones hacemos clic en el menú Insertar y, luego, seleccionamos la opción
denominada UserForm.

• A través de un formulario, el usuario puede ingresar o seleccionar datos

Al insertar el primer formulario a un proyecto, veremos que en el Explorador de proyectos


se crea una carpeta llamada Formularios, que contiene el elemento UserForm1. Esta
carpeta tendrá todos los formularios que generemos para nuestro libro.
En el sector derecho de la ventana del Editor de VBA, aparecerá un formulario vacío y,
como una ventana flotante, veremos el Cuadro de herramientas que agrupa los diferentes
controles que podemos incorporar al formulario. Estos controles son los que permiten
interactuar con los usuarios.

19
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

• Carpintería en Melamina

• Computación e Informática

• Confección Textil

• Cosmetología y Peluquería

• Electricidad y Electrónica

• Mecánica Automotriz y Motos

• Mecánica de Producción

• Panadería y Pastelería

• Tejidos a Maquina

Propiedades de los formularios

El primer paso para diseñar formularios consiste en establecer sus propiedades. A


continuación, describiremos algunas de las propiedades más comunes de los formularios.

• Name: permite establecer el nombre con el que haremos referencia al


formulario en el código. Cuando agregamos un formulario, VBA, de manera
predeterminada, le asigna el nombre UserForm1, UserForm2, UserForm3, y
así sucesivamente. Es conveniente darle a esta propiedad un valor más
significativo, como, por ejemplo, frmEntrada, para un formulario de entrada
de datos.
• Caption: permite ingresar un texto personalizado que se mostrará en la barra
de título del formulario.

Métodos de los formularios

A continuación, vamos a conocer los distintos métodos que nos permiten manejar los
formularios.

• Show: muestra el formulario en pantalla. Para esto, Visual Basic para


Aplicaciones primero comprueba que el formulario esté cargado en la memoria
y, si no lo está, procede a cargarlo. La sintaxis básica es
NombreFormulario.Show. Por ejemplo, tenemos el siguiente procedimiento
que muestra el formulario llamado frmEjemplo.

Sub mostrar_formulario()
frmEjemplo.Show
End Sub

20
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE


Carpintería en Melamina

Computación e Informática
• Load: carga el formulario en memoria, pero no lo hace visible. Su sintaxis es.
• Confección Textil

• Cosmetología y Peluquería

• Electricidad y Electrónica Load NombreFormulario


• Mecánica Automotriz y Motos

• Mecánica de Producción


• Panadería y Pastelería

• Tejidos a Maquina
Hide: oculta el formulario, sin descargarlo de la memoria. Si bien los controles
no estarán al alcance del usuario, podemos seguir haciendo referencia a ellos a
través del código. Esto quiere decir que los valores de las variables a nivel
formulario no desaparecen, sino que permanecen ocultas. Su sintaxis es
NombreFormulario.Hide. Por ejemplo, el procedimiento que presentamos a
continuación oculta el formulario llamado frmEjemplo.

Sub mostrar_formulario()
frmEjemplo.Hide
End Sub

• Unload: descarga el formulario de la memoria, y, de esta manera, todos los


controles volverán a los valores que tenían por defecto. Su sintaxis es Unload
NombreFormulario.

Eventos de los formularios

A continuación, veremos los principales eventos de un formulario.

• Initialize: se produce al cargar por primera vez el formulario, a través del


método Show o Load. Esto significa que, si en una aplicación cargamos un
formulario por primera vez, se va a realizar este evento, pero, si descargamos
el formulario y luego lo volvemos a cargar, esta segunda vez y las sucesivas no
se producirá este evento.
• Activate: ocurre cuando el formulario se vuelve activo, es decir, cada vez que
se hace visible (método Show). Esto sucede múltiples veces si tenemos en la
aplicación más de un formulario, pero solo uno de ellos puede ser el formulario
activo.

21
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

CUADRO DE HERRAMIENTAS
• Carpintería en Melamina

• Computación e Informática Muestra los controles estándar de Visual Basic, además de los controles ActiveX y los


Confección Textil

Cosmetología y Peluquería
objetos insertables que haya agregado a su proyecto.
• Electricidad y Electrónica

• Mecánica Automotriz y Motos

• Mecánica de Producción

• Panadería y Pastelería

• Tejidos a Maquina

Botón Icono Descripción

Seleccionar objetos es el único elemento del cuadro de


herramientas que no dibuja un control. Cuando lo selecciona, solo
Seleccionar objetos
puede cambiar el tamaño o mover un control que ya se ha dibujado
en un formulario.

Le permite mantener texto que no quiere que el usuario cambie,


Label
como un título debajo de un gráfico.

TextBox Contiene texto que el usuario puede especificar o cambiar.

Le permite dibujar un cuadro de texto y un cuadro de lista de


ComboBox combinación. El usuario puede elegir un elemento de la lista o
especificar un valor en el cuadro de texto.

Se usa para mostrar una lista de elementos que el usuario puede


MyListBox elegir. La lista puede desplazarse si tiene más elementos de los que
se pueden mostrar al mismo tiempo.

Crea una casilla que el usuario puede elegir fácilmente para indicar
CheckBox si algo es verdadero o falso, o para mostrar varias opciones cuando
el usuario puede elegir más de una.

Le permite mostrar varias opciones de las que el usuario solo puede


OptionButton
elegir una.

Propiedad Crea un botón que alterna entre encendido y apagado.

Le permite crear un grupo funcional o gráfico de controles. Para


Frame agrupar controles, dibuje el marco primero y, a continuación, dibuje
los controles dentro del marco.

22
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

• Carpintería en Melamina
Propiedad Crea un botón que el usuario puede elegir para llevar a cabo un
• Computación e Informática CommandButton comando.
• Confección Textil

• Cosmetología y Peluquería

• Electricidad y Electrónica

• Mecánica Automotriz y Motos

Le permite definir varias páginas para el mismo área de un cuadro


• Mecánica de Producción
Tabula
• Panadería y Pastelería
de diálogo o de una ventana en la aplicación.
• Tejidos a Maquina

MultiPage Presenta varias pantallas de información como un único conjunto.

Proporciona una herramienta gráfica para navegar rápidamente por


una lista larga de elementos o por una gran cantidad de información,
ScrollBar
para indicar la posición actual en una escala o para usarla como
dispositivo de entrada o indicador de velocidad o cantidad.
Un control de número que se puede usar con otro control para
aumentar y disminuir números. También puede usarlo para
SpinButton
desplazarse hacia delante y hacia atrás en un intervalo de valores o
en una lista de elementos.
Muestra una imagen gráfica de un mapa de bits, de un icono o de un
metarchivo en el formulario. Las imágenes que se muestran en un
Image
control Imagen solo son decorativas y usan menos recursos que
un cuadro de imagen.

ETIQUETAS (LABEL)
El control Etiqueta (Label) se utiliza para mostrar información que los usuarios no pueden
modificar y para identificar a otros controles, como, por ejemplo, los cuadros de texto y
las barras de desplazamiento.

Propiedades
Al igual que en los formularios, es posible establecer las propiedades de cualquier control

• Name: permite establecer el nombre con el que haremos referencia a la etiqueta


en el código. Por omisión, se le asigna el nombre Label1.
• Caption: el contenido que muestra una etiqueta es asignado por esta propiedad.
Por ejemplo, si a la etiqueta llamada lbl_titulo le queremos asignar el texto
“Ejemplo Etiqueta” en tiempo de ejecución, usamos la siguiente sentencia:

. lbl_titulo.Caption = “Ejemplo Etiqueta”.

Por ejemplo, si queremos que el texto de la etiqueta lbl_titulo tenga fuente Arial, estilo
Negrita, tamaño 14 y color azul tenemos que usar la sentencia que presentamos a
continuación:

With lbl_titulo
.Font.Name = “Arial”
.Font.Size = 14
.Font.Bold = True
.Font.Italic = True
.ForeColor = RGB(0, 0, 255)
End With

23
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

• Carpintería en Melamina
Eventos
• Computación e Informática Los eventos más empleados en las etiquetas son:
• Confección Textil

• Cosmetología y Peluquería


Electricidad y Electrónica

Mecánica Automotriz y Motos • Click: se produce cuando se pulsa el control.



• Mecánica de Producción


Panadería y Pastelería

Tejidos a Maquina
DbClick: ocurre cuando se hace doble clic sobre el control.

CUADRO DE TEXTO (TEXTBOX)


El control Cuadro de texto (TextBox) se suele utilizar para mostrar información o para
que el usuario ingrese datos. El contenido puede ser editado por el usuario.

Propiedades
Las propiedades más importantes de los cuadros de texto son:

• Name: permite establecer el nombre con el que haremos referencia al cuadro


de texto en el código. De manera predeterminada, se le asigna el nombre
TextBox1.

Eventos
Los eventos más empleados en los cuadros de texto son:

• Change: ocurre cuando se modifica el contenido del área de edición del cuadro
de texto.
• KeyPress: se produce cuando el usuario presiona una tecla.

BOTÓN DE COMANDO (COMMANDBUTTON)


La mayoría de los formularios tiene al menos un control Botón de comando
(CommandButton), que le permite al usuario hacer clic sobre él para realizar acciones,
como, por ejemplo, ejecutar una función.
Por lo general, se utiliza el evento Click para ejecutar alguna acción cuando se produce
dicho evento.

Propiedades
Las propiedades más importantes del botón de comando son:

• Name: permite asignarle un nombre al botón de comando.


• Caption: permite ingresar el texto que muestra el botón de comando.

Métodos
Este control prácticamente no posee métodos. El más importante es SetFocus, que
establece el foco en un control VBA, en este caso, el botón de comando. Para usar este
método, el control debe estar habilitado.

Eventos
El evento más empleado en el botón de comando es Click, que ocurre cuando el usuario
presiona el botón de comando con el botón izquierdo del mouse o cuando pulsa la tecla
ENTER.

24
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

El COMBOBOX
• Carpintería en Melamina

• Computación e Informática

• Confección Textil

• Cosmetología y Peluquería

• Electricidad y Electrónica

• Mecánica Automotriz y Motos

• Mecánica de Producción El COMBOBOX es una herramienta muy importante dentro del EXCEL especialmente


Panadería y Pastelería

Tejidos a Maquina
en la creación e implementación de formularios.

La principal tarea del COMBOBOX es el despliegue de información, esto se logra dando


click en la flechita de la figura anterior, habiendo sido insertada la información con
anterioridad.

A continuación se mostrara la forma de insertar información en un COMBOBOX

Esta forma consiste en insertar los elementos en el COMBOBOX desde el código.

Por ejemplo:

‘Otro Ejemplo
Private Sub UserForm1_Activate()
ComboBox1.Clear
With ComboBox1
.AddItem "Americana"
.AddItem “Hawaiana"
.AddItem "Pepperoni"
.AddItem "Suprema"
.AddItem “Full Meat”
.AddItem “Meat lovers”
End With
End Sub

Los elementos son insertados al COMBOBOX desde el código del programa

Se despliegan los elementos en el COMBOBOX

25
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

PROPIEDADES DEL COMBOBOX:


• Carpintería en Melamina

• Computación e Informática El COMBOBOX presenta muchas propiedades


• Confección Textil

• Cosmetología y Peluquería dentro de las cuales están:


• Electricidad y Electrónica

• Mecánica Automotriz y Motos

• Mecánica de Producción Value La propiedad Value tomara el valor



Panadería y Pastelería

Tejidos a Maquina
seleccionado del Listado del combo

Por Categorias

Apariencia
Comportamiento
Dato
Fuente
Posición
Otros

26
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

RESUMEN DE CONVERSIÓN (VISUAL BASIC)


• Carpintería en Melamina

• Computación e Informática Las palabras clave del lenguaje Visual Basic para Aplicaciones Excel y los miembros de


Confección Textil

Cosmetología y Peluquería
las bibliotecas en tiempo de ejecución están organizados por uso y propósito.
• Electricidad y Electrónica

• Mecánica Automotriz y Motos

• Mecánica de Producción RESUMEN DE CONVERSIÓN (VISUAL BASIC)


• Panadería y Pastelería

• Tejidos a Maquina

Acción Elemento del lenguaje

Convierte el valor ANSI en una cadena. Chr, ChrW


Convertir una cadena a minúsculas o
Format, LCase,UCase
mayúsculas.
Convertir la fecha en el número de serie. DateSerial, DateValue

Convertir el número decimal en otras bases. Hex, Oct

Convierte el número en una cadena. Format, Str


CBool, CByte, CDate, CDbl, CDEC, cint, CLng, CSng
Convierte un tipo de datos en otro.
, CShort, CStr, CType, Fix ,Int
Convertir la fecha a día, mes, día de la
Day, Month, Weekday, Year
semana o año.
Convierta la hora en horas, minutos o
Hour, Minute, Second
segundos.
Convierte una cadena en un valor ASCII. Asc, AscW

Convertir una cadena en un número. Val

Convertir la hora en el número de serie. TimeSerial, TimeValue

Ejemplo:

En un formulario debemos introducir un campo de texto que se llamará


Text1 (predeterminado)
Al escribir sobre este texto, este cambiara a mayúsculas o minúsculas automáticamente.

Mayúsculas:
Text1.Text = UCase(Text1.Text)

Minusculas:
Text1.Text = LCase(Text1.Text)

Val(cadena)
Devuelve los números contenidos en una cadena como un valor numérico del tipo
adecuado.

Dim MiValor
MiValor = Val("2457")
' Devuelve 2457

Dim A As Single
A = Val(TextBox1.Text)

27
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

ESTRUCTURAS DE CONTROL
• Carpintería en Melamina


Computación e Informática

Confección Textil
En el desarrollo de aplicaciones VBA se utiliza tres tipos de estructuras de control: las
• Cosmetología y Peluquería secuenciales, las selectivas y las iterativas.
• Electricidad y Electrónica

• Mecánica Automotriz y Motos

• Mecánica de Producción ESTRUCTURAS SECUENCIALES


• Panadería y Pastelería

• Tejidos a Maquina

Las instrucciones se siguen en una secuencia fija que normalmente viene dada por el
número de renglón. Es decir que las instrucciones se ejecutan de arriba hacia abajo.

SENTECNIAS DE CONTROL
Las sentencias de control, denominadas también estructuras de control, permiten tomar
decisiones y realizar un proceso repetidas veces. Son los denominados bifurcaciones y
bucles. Se trata de unas estructuras muy importantes ya que son las encargadas de
controlar el flujo de un programa según los requerimientos del mismo. Visual Basic para
Aplicaciones Excel dispone de las siguientes estructuras de control:

If ... Then ... Else

Select Case

For ... Next

Do ... Loop

While … Wend

For Each … Next

28
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

SENTENCIA IF ... THEN ... ELSE ...


• Carpintería en Melamina

• Computación e Informática Esta estructura permite ejecutar condicionalmente una o más sentencias y puede


Confección Textil

Cosmetología y Peluquería
escribirse de dos formas. La primera ocupa sólo una línea y tiene la forma siguiente:
• Electricidad y Electrónica


Mecánica Automotriz y Motos

Mecánica de Producción
If condicion Then sentencia1 [Else sentencia2]
• Panadería y Pastelería

• Tejidos a Maquina

La segunda es más general y se muestra a continuación:

If condicion Then
sentencia(s)
[Else
sentencia(s)]
End If

Si condicion es True (verdadera), se ejecutan las sentencias que están a continuación de


Then, y si condicion es False (falsa), se ejecutan las sentencias que están a continuación
de Else, si esta cláusula ha sido especificada (pues es opcional). Para indicar que se quiere
ejecutar uno de varios bloques de sentencias dependientes cada uno de ellos de una
condición, la estructura adecuada es la siguiente:
If condicion1 Then
sentencias1
ElseIf condicion2 Then
sentencias2
Else
sentencia-n
End If

Si se cumple la condicion1 se ejecutan las sentencias1, y si no se cumple, se examinan


secuencialmente las condiciones siguientes hasta Else, ejecutándose las sentencias
correspondientes al primer ElseIf cuya condición se cumpla. Si todas las condiciones son
falsas, se ejecutan las sentencias-n correspondientes a Else, que es la opción por defecto.

La Figura presenta esquemáticamente ambas formas de representar estas sentencias:

Bifurcaciones If e If...Else.

29
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

Ejemplo
• Carpintería en Melamina

• Computación e Informática Identificar la situación de los productos en stock mediante la implementación de



Confección Textil

Cosmetología y Peluquería
estructura condicional: IF condición THEN sentencia-1 ELSE sentencia-n END IF
• Electricidad y Electrónica


Mecánica Automotriz y Motos

Mecánica de Producción
Con los siguientes criterios:
• Panadería y Pastelería

• Tejidos a Maquina

Situación Condición Medida


Renovar Stock Si tenemos como mínimo 5 unidades
Bajo Stock Si tenemos entre 6 y 19 unidades
Full Stock Si tenemos de 20 a más unidades

Inserta un Modulo y crea el siguiente procedimiento “Function”

Function situacion(valor As Integer)


If valor <= 5 Then
situacion = "Renovar Stock"
ElseIf valor >= 6 And valor <= 19 Then
situacion = "Bajo Stock"
ElseIf valor >= 20 Then
situacion = "Full Stock"
End If
End Function

30
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

ACTIVECELL (CELDA ACTIVA)


• Carpintería en Melamina

• Computación e Informática Usamos la propiedad ActiveCell para referirnos a la celda activa. Es importante


Confección Textil

Cosmetología y Peluquería
mencionar que será la celda activa ubicada en el archivo y la hoja activos. Si tenemos
• Electricidad y Electrónica varios archivos abiertos o uno con varias hojas, será importante confirmar que estamos


Mecánica Automotriz y Motos

Mecánica de Producción
trabajando en la hoja correcta.
• Panadería y Pastelería

• Tejidos a Maquina

Selection
La propiedad Selection puede aplicarse a cualquier objeto seleccionado, desde un rango
de celdas, hasta imágenes.

Propiedades de rangos y celdas


Recordemos que las propiedades son características que describen a los objetos y los
objetos en VBA pueden ser rangos de celdas, hojas, archivos, gráficos, etc.
Las propiedades en VBA pueden ser de 3 tipos, solo lectura, solo escritura o lectura
escritura. En la siguiente tabla vemos las propiedades más usadas para rangos de celdas.

NOMBRE DESCRIPCIÓN TIPO


Columns Devuelve las columnas de un rango Sólo lectura
Rows Devuelva las filas de un rango Sólo lectura
Count Devuelve el conteo de celdas de un rango. Aplica Sólo lectura
para columnas y filas
Interior Permite formatear el fondo de un rango de celdas Lectura /escritura
Offset Nos permite desplazarnos n cantidad de filas o Lectura /escritura
columnas. DESREF en Excel
Value Devuelve o escribe un valor en un rango de celdas Lectura /escritura

Offset. Activaremos un rango en referencia a la celda A1. Nos moveremos 10 filas hacia abajo y
10 columnas hacia la derecha.
Range(“A1”).Offset(10, 10).Select
Value. Vamos a mostrar un valor de una celda.
MsgBox Range(“A1”).Value

DIFERENCIA ENTRE RANGE Y CELLS


Los objetos range y cells en la mayoría de casos pueden ser utilizados sin distinción
alguna, sin embargo hay casos puntuales donde se recomienda el uso de uno de los dos.

USO COMÚN
Para seleccionar una celda
Ejemplo:
Si se quiere seleccionar la celda “C2”, se tiene dos opciones.

Range(“C2”).select o Cells(2,3).select
* cells(i,j) , donde i=fila i ; j=columna j.

Para dar valor a una celda


Ejemplo:
-Si se desea darle valor a la celda “C2” =620, se tiene dos opciones

Range(“C2”).value=620 o Cells(2,3).value=620

31
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

SENTENCIA ITERATIVA (CICLO) DO … LOOP


• Carpintería en Melamina

• Computación e Informática Las estructuras en ciclo o repetitivas permiten repetir la ejecución de un conjunto de


Confección Textil

Cosmetología y Peluquería
instrucciones.
• Electricidad y Electrónica


Mecánica Automotriz y Motos

Mecánica de Producción
Un Loop (bucle) repite la ejecución de un conjunto de sentencias mientras una condición
• Panadería y Pastelería dada sea cierta, o hasta que una condición dada sea cierta. La condición puede ser
• Tejidos a Maquina

verificada antes o después de ejecutarse el conjunto de sentencias.

Este bucle Do…Loop repite las operaciones en función de una cierta condición

Sintaxis 1
Las instrucciones se ejecutan, mientras que la condición devuelve el valor True.

Do While <Condición>
<Instrucciones>
Loop

Sintaxis 2
Las instrucciones se ejecutan una primera vez sin condición y, luego, mientras la
condición devuelva True.

Su sintaxis es la siguiente

Do
<Instrucciones>
Loop While <Condición>

Diagrama de flujo que muestra el funcionamiento de la instrucción mientras

Ciclo Do … Loop

32
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

Ejemplo
• Carpintería en Melamina

• Computación e Informática Cambiar los nombres de los clientes registrados en minúsculas a mayúsculas mediante la


Confección Textil

Cosmetología y Peluquería
implementación de una estructura iterativa (ciclo): DO WHILE condición LOOP
• Electricidad y Electrónica sentencia
• Mecánica Automotriz y Motos

• Mecánica de Producción

• Panadería y Pastelería
Situación Condición Resultado
• Tejidos a Maquina

alarcon paredes percy armando Si tenemos el nombre ALARCON PAREDES PERCY


en minúscula convertir ARMANDO
a mayusculas

Insertar un modulo y crea el siguiente procedimiento “Sub”

Sub mayusCulaColumna()

Do While ActiveCell.Value <> ""


ActiveCell.Value = UCase(ActiveCell.Value)
ActiveCell.Offset(1, 0).Select
Loop

End Sub

Nota: Puedes asignar la macro (Procedimiento) a un objeto en la Hoja de excel

33
EXCEL AVANZADO
UANCV CENTRO DE INFORMÁTICA
GUÍA DE PARTICIPANTE

• Carpintería en Melamina
SETENCIA FOR NEXT
• Computación e Informática

• Confección Textil

• Cosmetología y Peluquería
Esta forma es la más útil , ya que no se tiene que


Electricidad y Electrónica

Mecánica Automotriz y Motos


estar accediendo al código para insertar algún
• Mecánica de Producción elemento dentro del COMBOBOX . Por el contrario


Panadería y Pastelería

Tejidos a Maquina
la información es agregada en ciertas celdas del
Excel, la cual con un código pertinente será insertada
dentro del COMBOBOX.
Por ejemplo:

El programa busca apartir de la celda (2,1) hacia


abajo y empieza a insertar los elementos dentro del
COMBOBOX hasta que ya no encuentre elementos
en las celdas.

Se despliega la información.

34

También podría gustarte