Seminario de Visual Basic Básico I Por: Zuriel Correa (1/Oct/02) Actualizada por Juan Román...

Post on 23-Jan-2016

223 views 3 download

Transcript of Seminario de Visual Basic Básico I Por: Zuriel Correa (1/Oct/02) Actualizada por Juan Román...

Seminario de Visual BasicBásico I

Por: Zuriel Correa (1/Oct/02) Actualizada por Juan Román (11/Feb/03)

Universidad de Puerto Rico MayagüezDepartamento de Ingeniería Industrial

Por: Juan Román y Zuriel Correa 2

Objetivos del Seminario

Como accesar Visual Basic desde Excel. Conceptos básicos necesarios para

poder comenzar a programar en VBA. Dar ideas de como:

• Atacar un problema

• Depurar un programa

• Buscar ayuda sobre VBA

Por: Juan Román y Zuriel Correa 3

Requerimientos

Conomientos básicos de Excel Conceptos básicos de lógica de

programación.

Por: Juan Román y Zuriel Correa 4

Temas de la presentación

Conceptos de Programación Interfase Visual Basic Comenzando con Visual Basic

Por: Juan Román y Zuriel Correa 5

VB vs VBA

VBA Visual Basic for Applications VBA es Visual Basic pero con algunos

objetos específicos de la aplicación en uso ya declarados.

Por: Juan Román y Zuriel Correa 6

Conceptos de programación

Conceptos básicos que se deben conocer sobre Visual Basic.

Por: Juan Román 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• Do…Loop• While…Wend

Arreglos (Arrays)

Por: Juan Román y Zuriel Correa 8

Option Explicit

Se utiliza para forzar la declaración de variables en el código.

Ayuda a evitar errores tipográficos. Se coloca en la parte de arriba del código,

antes de la declaración o utilización de cualquier variable.

En general es la primera linea en el programa. Es altamente recomendado utilizarlo.

Por: Juan Román y Zuriel Correa 9

Tipos de variables (Data Types) Boolean – True or False Currency – Dinero Date – fecha y tiempo Double – numérico con decimales Integer – numérico entero entre -32767 y 32767 Long – numérico entero grande String – texto (concatenación) Variant – variante, puede ser cualquier cosa Object – objeto, varia dependiendo el tipo de objeto que

referencia*

* Avanzado

Por: Juan Román y Zuriel Correa 10

Funciones y Sub-rutinas (Function & Sub)

Function:• Es un set de comandos en conjunto para

realizar una función que se ha de ejecutar más de una vez de una manera similar con diferentes parametros y que al final devuelve un valor.

Sub:• Es una función que no devuelve ningún valor.

resumido

Por: Juan Román 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 apóstrofe ‘ al comienzo de un comentario.

Por: Juan Román y Zuriel Correa 12

If, Then, ElseIf, Else, End If

Por: Juan Román y Zuriel Correa 13

For… Next

Por: Juan Román y Zuriel Correa 14

Do… Loop

Por: Juan Román y Zuriel Correa 15

While… Wend

Por: Juan Román y Zuriel Correa 16

Goto y Label

Label• Identifica un área en el código

GoTo• Transfiere el programa hacia un Label

Por: Juan Román y Zuriel Correa 17

Arreglos (Arrays of Data)

Nos permite guardar multiple información con una sola referencia.Ejemplo de los meses del año.

Por: Juan Román y Zuriel Correa 18

Arreglos (Arrays)

Tópicos1. Arreglos de una dimensión.

2. Arreglos de más de una dimensión.

3. Arreglos dinámicos.

4. Arreglos que contienen arreglos.

Por: Juan Román y Zuriel Correa 19

Arreglos (Arrays)

Tópicos1. Arreglos de una dimensión.

2. Arreglos de más de una dimensión.

3. Arreglos dinámicos.

4. Arreglos que contienen arreglos.

Por: Juan Román y Zuriel Correa 20

1) Arreglos de una dimensión

Por: Juan Román y Zuriel Correa 21

Arreglos (Arrays)

Tópicos1. Arreglos de una dimensión.

2. Arreglos de más de una dimensión.

3. Arreglos dinámicos.

4. Arreglos que contienen arreglos.

Por: Juan Román y Zuriel Correa 22

2) Arreglos de más de una dimensión

Por: Juan Román y Zuriel Correa 23

Arreglos (Arrays)

Tópicos1. Arreglos de una dimensión.

2. Arreglos de más de una dimensión.

3. Arreglos dinámicos.

4. Arreglos que contienen arreglos.

Por: Juan Román y Zuriel Correa 24

3) Arreglos dinámicos

Por: Juan Román y Zuriel Correa 25

Arreglos (Arrays)

Tópicos1. Arreglos de una dimensión.

2. Arreglos de más de una dimensión.

3. Arreglos dinámicos.

4. Arreglos que contienen arreglos.

Por: Juan Román 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) = “Máquina 4”

Productos

Máquinas

Por: Juan Román y Zuriel Correa 27

Interfase - Visual Basic

Controles más utilizados Eventos Algunas funciones de VBA

Por: Juan Román y Zuriel Correa 28

Controles más utilizados (Controls)

Textbox – single line or multiline ComboBox – Drop Down Menu ListBox – para listados de artículos (items) Label – texto para describir algún área CommandButton – un botón para oprimir CheckBox – una caja de marcar y desmarcar OptionButton

Por: Juan Román 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 información

contenida en un control

Por: Juan Román y Zuriel Correa 30

Eventos

Nombre del control

Eventos del control

Por: Juan Román y Zuriel Correa 31

Funciones Predefinidas

Algunas de las funciones más comúnmente utilizadas de VBA.

Por: Juan Román y Zuriel Correa 32

Funciones predefinidas más utilizadas (Build in functions)

FormatNumber()• Para formatear los números para mostrarlos en la

forma y cifras decimales deseadas

InputBox()• Para preguntarle información al usuario

Ubound()• Para obtener el límite superior de un arreglo

Len()• Para determinar el largo de un string

Por: Juan Román y Zuriel Correa 33

Funciones predefinidas más 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 algún

string (devuelve la posición donde existe)

Por: Juan Román y Zuriel Correa 34

Funciones predefinidas más utilizadas (Build in functions)

IsNumeric()• Para ver si una expresión puede ser evaluada

como un número IsDate()

• Para ver si una expresión puede ser evaluada como una fecha

Now()• Devuelve la fecha y hora en el instante en

que se llama

Por: Juan Román y Zuriel Correa 35

Funciones predefinidas más utilizadas (Build in functions)

DateDiff()• Para calcular la diferencia entre dos fechas

en términos de horas, o minutos o dias o años, ect

DateAdd()• Para añadirle a una fecha cierta cantidad de

dias o horas o años, ect. Pueden añadirse números negativos.

Por: Juan Román y Zuriel Correa 36

Comenzando con Visual Basic

Como atacar un problema Técnicas de depuración Algunos errores comunes Consejos

Por: Juan Román y Zuriel Correa 37

Como atacar un problema Definir el problema – Conocer la naturaleza

del problema Observar más de un ejemplo resuelto Escribir el pseudocódigo - Flujograma Establecer los Inputs y Outputs del sistema -

Hacer la interface gráfica de ser necesario. Escribir el código. Preparar el programa para evitar errores del

usuario. Decorarlo!

Por: Juan Román y Zuriel Correa 38

Técnicas de depuración (Debugging)

BreakPoint MsgBox

Por: Juan Román 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 Román 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 próxima linea oprimir F8 en el teclado.

Para continuar la ejecución oprimir F5 en el teclado.

Por: Juan Román y Zuriel Correa 41

MsgBox

Muestra en pantalla el valor de una ecuación o de una variable.

Hay diferentes tipos de MsgBox

Por: Juan Román y Zuriel Correa 42

MsgBox

Por: Juan Román y Zuriel Correa 43

Errores comunes

Cuando se trata de sumar dos números se concatenan como strings y no se suman números.

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 Román 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 código para hacerlo más legible. Buscar cualquier información necesaria en el

internet.• http://www.microsoft.com

• http://www.google.com

Por: Juan Román y Zuriel Correa 45

Próximo: Ejemplo descriptivo Se cubrirá como:

• Utilizar la Interfase Visual Basic en Excel.

• Crear formularios (UserForms) y Módulos (Modules).

• Hacer referencia a controles del formulario.

• Utilizar parte de lo discutido en esta presentación.

• Hacer funciones y hacer referencia a estas.

• Hacer referencia a celdas (Cells) y rangos (Ranges) de Excel.