Está en la página 1de 45

Seminario de Visual Basic

Bsico I


Por: Zuriel Correa (1/Oct/02)
Actualizada por Juan Romn (11/Feb/03)
Universidad de Puerto Rico Mayagez
Departamento de Ingeniera Industrial
Por: Juan Romn y Zuriel Correa 2
Objetivos del Seminario
Como accesar Visual Basic desde Excel.
Conceptos bsicos necesarios para
poder comenzar a programar en VBA.
Dar ideas de como:
Atacar un problema
Depurar un programa
Buscar ayuda sobre VBA

Por: Juan Romn y Zuriel Correa 3
Requerimientos
Conomientos bsicos de Excel
Conceptos bsicos de lgica de
programacin.
Por: Juan Romn y Zuriel Correa 4
Temas de la presentacin
Conceptos de Programacin
Interfase Visual Basic
Comenzando con Visual Basic
Por: Juan Romn y Zuriel Correa 5
VB vs VBA
VBA Visual Basic for Applications
VBA es Visual Basic pero con algunos
objetos especficos de la aplicacin en
uso ya declarados.

Por: Juan Romn y Zuriel Correa 6
Conceptos de programacin
Conceptos bsicos que se deben
conocer sobre Visual Basic.
Por: Juan Romn y Zuriel Correa 7
Temas
Option Explicit
Tipos de Variables (Data Types)
Funciones y Sub-rutinas (Function & Sub)
Comentarios
Directrices
If Then Else End If
For Next
DoLoop
WhileWend
Arreglos (Arrays)

Por: Juan Romn y Zuriel Correa 8
Option Explicit
Se utiliza para forzar la declaracin de
variables en el cdigo.
Ayuda a evitar errores tipogrficos.
Se coloca en la parte de arriba del cdigo,
antes de la declaracin o utilizacin de
cualquier variable.
En general es la primera linea en el
programa.
Es altamente recomendado utilizarlo.
Por: Juan Romn y Zuriel Correa 9
Tipos de variables (Data Types)
Boolean True or False
Currency Dinero
Date fecha y tiempo
Double numrico con decimales
Integer numrico entero entre -32767 y 32767
Long numrico entero grande
String texto (concatenacin)
Variant variante, puede ser cualquier cosa
Object objeto, varia dependiendo el tipo de objeto que
referencia*


* Avanzado
Por: Juan Romn y Zuriel Correa 10
Funciones y Sub-rutinas
(Function & Sub)
Function:
Es un set de comandos en conjunto para
realizar una funcin que se ha de ejecutar
ms de una vez de una manera similar con
diferentes parametros y que al final devuelve
un valor.
Sub:
Es una funcin que no devuelve ningn valor.
resumido
Por: Juan Romn y Zuriel Correa 11
Comentarios
Es texto que no se ejecuta.
Sirve para dar guias de que es lo que
esta escrito.
Se puede utilizar para no tener que
borrar lineas que puede que se usen en
un futuro.
Se puede utilizar REM o un apstrofe
al comienzo de un comentario.
Por: Juan Romn y Zuriel Correa 12
If, Then, ElseIf, Else, End If
Por: Juan Romn y Zuriel Correa 13
For Next
Por: Juan Romn y Zuriel Correa 14
Do Loop
Por: Juan Romn y Zuriel Correa 15
While Wend
Por: Juan Romn y Zuriel Correa 16
Goto y Label
Label
Identifica un rea en el cdigo
GoTo
Transfiere el programa hacia un Label

Por: Juan Romn y Zuriel Correa 17
Arreglos (Arrays of Data)
Nos permite guardar multiple
informacin con una sola referencia.
Ejemplo de los meses del ao.
Por: Juan Romn y Zuriel Correa 18
Arreglos (Arrays)
Tpicos
1. Arreglos de una dimensin.
2. Arreglos de ms de una dimensin.
3. Arreglos dinmicos.
4. Arreglos que contienen arreglos.
Por: Juan Romn y Zuriel Correa 19
Arreglos (Arrays)
Tpicos
1. Arreglos de una dimensin.
2. Arreglos de ms de una dimensin.
3. Arreglos dinmicos.
4. Arreglos que contienen arreglos.
Por: Juan Romn y Zuriel Correa 20
1) Arreglos de una dimensin


Por: Juan Romn y Zuriel Correa 21
Arreglos (Arrays)
Tpicos
1. Arreglos de una dimensin.
2. Arreglos de ms de una dimensin.
3. Arreglos dinmicos.
4. Arreglos que contienen arreglos.
Por: Juan Romn y Zuriel Correa 22
2) Arreglos de ms de una dimensin
Por: Juan Romn y Zuriel Correa 23
Arreglos (Arrays)
Tpicos
1. Arreglos de una dimensin.
2. Arreglos de ms de una dimensin.
3. Arreglos dinmicos.
4. Arreglos que contienen arreglos.
Por: Juan Romn y Zuriel Correa 24
3) Arreglos dinmicos
Por: Juan Romn y Zuriel Correa 25
Arreglos (Arrays)
Tpicos
1. Arreglos de una dimensin.
2. Arreglos de ms de una dimensin.
3. Arreglos dinmicos.
4. Arreglos que contienen arreglos.
Por: Juan Romn y Zuriel Correa 26
4) Arreglos que contienen arreglos
Son posibles.
Para accesar los elementos se utiliza un
segundo set de parentesis.
Ejemplo:
Procesos y Productos
aProductos(2)(4) = Mquina 4

Productos
Mquinas
Por: Juan Romn y Zuriel Correa 27
Interfase - Visual Basic
Controles ms utilizados
Eventos
Algunas funciones de VBA

Por: Juan Romn y Zuriel Correa 28
Controles ms utilizados (Controls)
Textbox single line or multiline
ComboBox Drop Down Menu
ListBox para listados de artculos (items)
Label texto para describir algn rea
CommandButton un botn para oprimir
CheckBox una caja de marcar y desmarcar
OptionButton
Por: Juan Romn y Zuriel Correa 29
Eventos (Events)
Click Cuando se hace un click con el
mouse
KeyPress Cuando se oprime y se
suelta una tecla
KeyUp Cuando se suelta una tecla
KeyDown Cuando se oprime una tecla
Change Cuando cambia la informacin
contenida en un control
Por: Juan Romn y Zuriel Correa 30
Eventos
Nombre del control
Eventos del control
Por: Juan Romn y Zuriel Correa 31
Funciones Predefinidas
Algunas de las funciones ms
comnmente utilizadas de VBA.

Por: Juan Romn y Zuriel Correa 32
Funciones predefinidas ms
utilizadas (Build in functions)
FormatNumber()
Para formatear los nmeros para mostrarlos en la
forma y cifras decimales deseadas
InputBox()
Para preguntarle informacin al usuario
Ubound()
Para obtener el lmite superior de un arreglo
Len()
Para determinar el largo de un string
Por: Juan Romn y Zuriel Correa 33
Funciones predefinidas ms
utilizadas (Build in functions)
LCase() y UCase()
Para poner los caracteres en un string en
Lower case o Upper case
Mid(), Right(), Left()
Para obtener un substring de un string
InStr() y InStrRev()
Para verificar si existe un string en algn
string (devuelve la posicin donde existe)
Por: Juan Romn y Zuriel Correa 34
Funciones predefinidas ms
utilizadas (Build in functions)
IsNumeric()
Para ver si una expresin puede ser evaluada
como un nmero
IsDate()
Para ver si una expresin puede ser evaluada
como una fecha
Now()
Devuelve la fecha y hora en el instante en
que se llama
Por: Juan Romn y Zuriel Correa 35
Funciones predefinidas ms
utilizadas (Build in functions)
DateDiff()
Para calcular la diferencia entre dos fechas
en trminos de horas, o minutos o dias o
aos, ect
DateAdd()
Para aadirle a una fecha cierta cantidad de
dias o horas o aos, ect. Pueden aadirse
nmeros negativos.
Por: Juan Romn y Zuriel Correa 36
Comenzando con Visual Basic
Como atacar un problema
Tcnicas de depuracin
Algunos errores comunes
Consejos

Por: Juan Romn y Zuriel Correa 37
Como atacar un problema
Definir el problema Conocer la naturaleza
del problema
Observar ms de un ejemplo resuelto
Escribir el pseudocdigo - Flujograma
Establecer los Inputs y Outputs del sistema -
Hacer la interface grfica de ser necesario.
Escribir el cdigo.
Preparar el programa para evitar errores del
usuario.
Decorarlo!
Por: Juan Romn y Zuriel Correa 38
Tcnicas de depuracin
(Debugging)
BreakPoint
MsgBox
Por: Juan Romn y Zuriel Correa 39
BreakPoint
Hacer un click en la banda de la izquierda
Se sabe que esta
marcada por el
formato que toma la
linea
Por: Juan Romn y Zuriel Correa 40
BreakPoint
Se puede colocar el mouse encima de
las variables para ver el valor que tienen
en el momento.
Para moverse a la prxima linea oprimir
F8 en el teclado.
Para continuar la ejecucin oprimir F5
en el teclado.

Por: Juan Romn y Zuriel Correa 41
MsgBox
Muestra en pantalla el valor de una
ecuacin o de una variable.
Hay diferentes tipos de MsgBox
Por: Juan Romn y Zuriel Correa 42
MsgBox
Por: Juan Romn y Zuriel Correa 43
Errores comunes
Cuando se trata de sumar dos nmeros
se concatenan como strings y no se
suman nmeros.
No revisar las condiciones terminales de
un Do o de un While lo que conduce a
Loops infinitos.
Para salir de un loop infinito oprime las teclas
ctrl+break.
Por: Juan Romn y Zuriel Correa 44
Consejos
Revisar las funciones built-in de Visual Basic.
No hay que aprender como usarlas, solo
saber que hacen para en un futuro saber que
existen.
Indenten el cdigo para hacerlo ms legible.
Buscar cualquier informacin necesaria en el
internet.
http://www.microsoft.com
http://www.google.com
Por: Juan Romn y Zuriel Correa 45
Prximo: Ejemplo descriptivo
Se cubrir como:
Utilizar la Interfase Visual Basic en Excel.
Crear formularios (UserForms) y Mdulos
(Modules).
Hacer referencia a controles del formulario.
Utilizar parte de lo discutido en esta
presentacin.
Hacer funciones y hacer referencia a estas.
Hacer referencia a celdas (Cells) y rangos
(Ranges) de Excel.

También podría gustarte