450 likes | 492 Views
This seminar covers accessing Visual Basic in Excel, fundamental programming concepts in VBA, solving problems, debugging programs, and seeking help. It requires basic Excel knowledge and programming logic understanding. Topics include programming concepts, Visual Basic interface, and getting started with Visual Basic. Participants will learn about VBA, programming essentials, variables, functions, and sub-routines. The session also covers essential programming topics like loops, arrays, and interfaces in Visual Basic.
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