Está en la página 1de 45

Visual Basic Básico I

Visual Basic Básico I

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

Requerimientos

Conomientos básicos de Excel

Conceptos básicos de lógica de programación.

Temas de la presentación

Conceptos de Programación

Interfase Visual Basic

Comenzando con Visual Basic

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.

Conceptos de programación

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

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)

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.

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

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.

resumido

Sub:

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

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.

If, Then, ElseIf, Else, End If

If, Then, ElseIf, Else, End If 12

For… Next

For… Next 13

Do… Loop

Do… Loop 14

14

While… Wend

While… Wend 15

15

Goto y Label

Label

Identifica un área en el código

GoTo

Transfiere el programa hacia un Label

Arreglos (Arrays of Data)

Nos permite guardar multiple información con una sola referencia.

Ejemplo de los meses del año.

Arreglos (Arrays)

Tópicos

1. Arreglos de una dimensión.

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

3. Arreglos dinámicos. 4. Arreglos que contienen arreglos.

Arreglos (Arrays)

Tópicos

1. Arreglos de una dimensión.

(Arrays)  Tópicos 1. Arreglos de una dimensión. 2. Arreglos de más de una dimensión. 3.

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

3. Arreglos dinámicos. 4. Arreglos que contienen arreglos.

1) Arreglos de una dimensión

1) Arreglos de una dimensión 20

Arreglos (Arrays)

Tópicos

1. Arreglos de una dimensión.

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

3. Arreglos dinámicos. 4. Arreglos que contienen arreglos.

una dimensión. 2. Arreglos de más de una dimensión. 3. Arreglos dinámicos. 4. Arreglos que contienen

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

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

22

Arreglos (Arrays)

Tópicos

1. Arreglos de una dimensión.

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

3. Arreglos dinámicos. 4. Arreglos que contienen arreglos.

una dimensión. 2. Arreglos de más de una dimensión. 3. Arreglos dinámicos. 4. Arreglos que contienen

3) Arreglos dinámicos

3) Arreglos dinámicos 24

24

Arreglos (Arrays)

Tópicos

1. Arreglos de una dimensión.

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

3. Arreglos dinámicos. 4. Arreglos que contienen arreglos.

una dimensión. 2. Arreglos de más de una dimensión. 3. Arreglos dinámicos. 4. Arreglos que contienen

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

Interfase - Visual Basic

Controles más utilizados

Eventos

Algunas funciones de VBA

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

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

Eventos

Nombre del control

Eventos del control

Eventos Nombre del control Eventos del control 30

Funciones Predefinidas

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

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

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)

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

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.

Comenzando con Visual Basic

Como atacar un problema

Técnicas de depuración

Algunos errores comunes

Consejos

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!

Técnicas de depuración (Debugging)

BreakPoint

MsgBox

BreakPoint

Hacer un click en la banda de la izquierda

Se sabe que esta marcada por el formato que toma la linea
Se
sabe
que
esta
marcada
por
el
formato que toma la
linea

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.

MsgBox

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

Hay diferentes tipos de MsgBox

MsgBox

MsgBox 42

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.

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.

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.