450 likes | 491 Views
Universidad de Puerto Rico Mayagüez Departamento de Ingeniería Industrial. Seminario de Visual Basic Básico I. Por: Zuriel Correa (1/Oct/02) Actualizada por Juan Román (11/Feb/03). Objetivos del Seminario. Como accesar Visual Basic desde Excel.
E N D
Universidad de Puerto Rico Mayagüez Departamento de Ingeniería Industrial Seminario de Visual BasicBásico I Por: Zuriel Correa (1/Oct/02) Actualizada por Juan Román (11/Feb/03)
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
Requerimientos • Conomientos básicos de Excel • Conceptos básicos de lógica de programación. Por: Juan Román y Zuriel Correa
Temas de la presentación • Conceptos de Programación • Interfase Visual Basic • Comenzando con Visual Basic Por: Juan Román y Zuriel Correa
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
Conceptos de programación Conceptos básicos que se deben conocer sobre Visual Basic. Por: Juan Román y Zuriel Correa
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
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
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
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
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
If, Then, ElseIf, Else, End If Por: Juan Román y Zuriel Correa
For… Next Por: Juan Román y Zuriel Correa
Do… Loop Por: Juan Román y Zuriel Correa
While… Wend Por: Juan Román y Zuriel Correa
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
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
Arreglos (Arrays) • Tópicos • Arreglos de una dimensión. • Arreglos de más de una dimensión. • Arreglos dinámicos. • Arreglos que contienen arreglos. Por: Juan Román y Zuriel Correa
Arreglos (Arrays) • Tópicos • Arreglos de una dimensión. • Arreglos de más de una dimensión. • Arreglos dinámicos. • Arreglos que contienen arreglos. Por: Juan Román y Zuriel Correa
1) Arreglos de una dimensión Por: Juan Román y Zuriel Correa
Arreglos (Arrays) • Tópicos • Arreglos de una dimensión. • Arreglos de más de una dimensión. • Arreglos dinámicos. • Arreglos que contienen arreglos. Por: Juan Román y Zuriel Correa
2) Arreglos de más de una dimensión Por: Juan Román y Zuriel Correa
Arreglos (Arrays) • Tópicos • Arreglos de una dimensión. • Arreglos de más de una dimensión. • Arreglos dinámicos. • Arreglos que contienen arreglos. Por: Juan Román y Zuriel Correa
3) Arreglos dinámicos Por: Juan Román y Zuriel Correa
Arreglos (Arrays) • Tópicos • Arreglos de una dimensión. • Arreglos de más de una dimensión. • Arreglos dinámicos. • Arreglos que contienen arreglos. Por: Juan Román y Zuriel Correa
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
Interfase - Visual Basic • Controles más utilizados • Eventos • Algunas funciones de VBA Por: Juan Román y Zuriel Correa
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
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
Eventos Eventos del control Nombre del control Por: Juan Román y Zuriel Correa
Funciones Predefinidas • Algunas de las funciones más comúnmente utilizadas de VBA. Por: Juan Román y Zuriel Correa
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
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
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
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
Comenzando con Visual Basic • Como atacar un problema • Técnicas de depuración • Algunos errores comunes • Consejos Por: Juan Román y Zuriel Correa
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
Técnicas de depuración (Debugging) • BreakPoint • MsgBox Por: Juan Román y Zuriel Correa
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
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
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
MsgBox Por: Juan Román y Zuriel Correa
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
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
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. Por: Juan Román y Zuriel Correa