Nociones De Vba

3,258 views

Published on

Nociones básicas de VBA para iniciarse como desarrollador de aplicaciones.

Published in: Education, Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,258
On SlideShare
0
From Embeds
0
Number of Embeds
215
Actions
Shares
0
Downloads
137
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Nociones De Vba

  1. 1. Visual Basic Básico I
  2. 2. Objetivos del Seminario <ul><li>Como accesar Visual Basic desde Excel. </li></ul><ul><li>Conceptos básicos necesarios para poder comenzar a programar en VBA. </li></ul><ul><li>Dar ideas de como: </li></ul><ul><ul><li>Atacar un problema </li></ul></ul><ul><ul><li>Depurar un programa </li></ul></ul><ul><ul><li>Buscar ayuda sobre VBA </li></ul></ul>
  3. 3. Requerimientos <ul><li>Conomientos básicos de Excel </li></ul><ul><li>Conceptos básicos de lógica de programación. </li></ul>
  4. 4. Temas de la presentación <ul><li>Conceptos de Programación </li></ul><ul><li>Interfase Visual Basic </li></ul><ul><li>Comenzando con Visual Basic </li></ul>
  5. 5. VB vs VBA <ul><li>VBA  Visual Basic for Applications </li></ul><ul><li>VBA es Visual Basic pero con algunos objetos específicos de la aplicación en uso ya declarados. </li></ul>
  6. 6. Conceptos de programación <ul><li>Conceptos básicos que se deben conocer sobre Visual Basic. </li></ul>
  7. 7. Temas <ul><li>Option Explicit </li></ul><ul><li>Tipos de Variables (Data Types) </li></ul><ul><li>Funciones y Sub-rutinas (Function & Sub) </li></ul><ul><li>Comentarios </li></ul><ul><li>Directrices </li></ul><ul><ul><li>If… Then… Else… End If </li></ul></ul><ul><ul><li>For… Next </li></ul></ul><ul><ul><li>Do…Loop </li></ul></ul><ul><ul><li>While…Wend </li></ul></ul><ul><li>Arreglos (Arrays) </li></ul>
  8. 8. Option Explicit <ul><li>Se utiliza para forzar la declaración de variables en el código. </li></ul><ul><li>Ayuda a evitar errores tipográficos. </li></ul><ul><li>Se coloca en la parte de arriba del código, antes de la declaración o utilización de cualquier variable. </li></ul><ul><li>En general es la primera linea en el programa. </li></ul><ul><li>Es altamente recomendado utilizarlo. </li></ul>
  9. 9. Tipos de variables (Data Types) <ul><li>Boolean – True or False </li></ul><ul><li>Currency – Dinero </li></ul><ul><li>Date – fecha y tiempo </li></ul><ul><li>Double – numérico con decimales </li></ul><ul><li>Integer – numérico entero entre -32767 y 32767 </li></ul><ul><li>Long – numérico entero grande </li></ul><ul><li>String – texto (concatenación) </li></ul><ul><li>Variant – variante, puede ser cualquier cosa </li></ul><ul><li>Object – objeto, varia dependiendo el tipo de objeto que referencia* </li></ul>* Avanzado
  10. 10. Funciones y Sub-rutinas (Function & Sub) <ul><li>Function: </li></ul><ul><ul><li>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. </li></ul></ul><ul><li>Sub: </li></ul><ul><ul><li>Es una función que no devuelve ningún valor. </li></ul></ul>resumido
  11. 11. Comentarios <ul><li>Es texto que no se ejecuta. </li></ul><ul><li>Sirve para dar guias de que es lo que esta escrito. </li></ul><ul><li>Se puede utilizar para no tener que borrar lineas que puede que se usen en un futuro. </li></ul><ul><li>Se puede utilizar REM o un apóstrofe ‘ al comienzo de un comentario. </li></ul>
  12. 12. If, Then, ElseIf, Else, End If
  13. 13. For… Next
  14. 14. Do… Loop
  15. 15. While… Wend
  16. 16. Goto y Label <ul><li>Label </li></ul><ul><ul><li>Identifica un área en el código </li></ul></ul><ul><li>GoTo </li></ul><ul><ul><li>Transfiere el programa hacia un Label </li></ul></ul>
  17. 17. Arreglos (Arrays of Data) <ul><li>Nos permite guardar multiple información con una sola referencia. Ejemplo de los meses del año. </li></ul>
  18. 18. Arreglos (Arrays) <ul><li>Tópicos </li></ul><ul><ul><li>Arreglos de una dimensión. </li></ul></ul><ul><ul><li>Arreglos de más de una dimensión. </li></ul></ul><ul><ul><li>Arreglos dinámicos. </li></ul></ul><ul><ul><li>Arreglos que contienen arreglos. </li></ul></ul>
  19. 19. Arreglos (Arrays) <ul><li>Tópicos </li></ul><ul><ul><li>Arreglos de una dimensión. </li></ul></ul><ul><ul><li>Arreglos de más de una dimensión. </li></ul></ul><ul><ul><li>Arreglos dinámicos. </li></ul></ul><ul><ul><li>Arreglos que contienen arreglos. </li></ul></ul>
  20. 20. 1) Arreglos de una dimensión
  21. 21. Arreglos (Arrays) <ul><li>Tópicos </li></ul><ul><ul><li>Arreglos de una dimensión. </li></ul></ul><ul><ul><li>Arreglos de más de una dimensión. </li></ul></ul><ul><ul><li>Arreglos dinámicos. </li></ul></ul><ul><ul><li>Arreglos que contienen arreglos. </li></ul></ul>
  22. 22. 2) Arreglos de más de una dimensión
  23. 23. Arreglos (Arrays) <ul><li>Tópicos </li></ul><ul><ul><li>Arreglos de una dimensión. </li></ul></ul><ul><ul><li>Arreglos de más de una dimensión. </li></ul></ul><ul><ul><li>Arreglos dinámicos. </li></ul></ul><ul><ul><li>Arreglos que contienen arreglos. </li></ul></ul>
  24. 24. 3) Arreglos dinámicos
  25. 25. Arreglos (Arrays) <ul><li>Tópicos </li></ul><ul><ul><li>Arreglos de una dimensión. </li></ul></ul><ul><ul><li>Arreglos de más de una dimensión. </li></ul></ul><ul><ul><li>Arreglos dinámicos. </li></ul></ul><ul><ul><li>Arreglos que contienen arreglos. </li></ul></ul>
  26. 26. 4) Arreglos que contienen arreglos <ul><li>Son posibles. </li></ul><ul><li>Para accesar los elementos se utiliza un segundo set de parentesis. </li></ul><ul><li>Ejemplo: </li></ul><ul><ul><li>Procesos y Productos </li></ul></ul><ul><ul><li>aProductos(2)(4) = “Máquina 4” </li></ul></ul>… Productos Máquinas
  27. 27. Interfase - Visual Basic <ul><li>Controles más utilizados </li></ul><ul><li>Eventos </li></ul><ul><li>Algunas funciones de VBA </li></ul>
  28. 28. Controles más utilizados (Controls) <ul><li>Textbox – single line or multiline </li></ul><ul><li>ComboBox – Drop Down Menu </li></ul><ul><li>ListBox – para listados de artículos (items) </li></ul><ul><li>Label – texto para describir algún área </li></ul><ul><li>CommandButton – un botón para oprimir </li></ul><ul><li>CheckBox – una caja de marcar y desmarcar </li></ul><ul><li>OptionButton </li></ul>
  29. 29. Eventos (Events) <ul><li>Click – Cuando se hace un click con el mouse </li></ul><ul><li>KeyPress – Cuando se oprime y se suelta una tecla </li></ul><ul><li>KeyUp – Cuando se suelta una tecla </li></ul><ul><li>KeyDown – Cuando se oprime una tecla </li></ul><ul><li>Change – Cuando cambia la información contenida en un control </li></ul>
  30. 30. Eventos Nombre del control Eventos del control
  31. 31. Funciones Predefinidas <ul><li>Algunas de las funciones más comúnmente utilizadas de VBA . </li></ul>
  32. 32. Funciones predefinidas más utilizadas (Build in functions) <ul><li>FormatNumber() </li></ul><ul><ul><li>Para formatear los números para mostrarlos en la forma y cifras decimales deseadas </li></ul></ul><ul><li>InputBox() </li></ul><ul><ul><li>Para preguntarle información al usuario </li></ul></ul><ul><li>Ubound() </li></ul><ul><ul><li>Para obtener el límite superior de un arreglo </li></ul></ul><ul><li>Len() </li></ul><ul><ul><li>Para determinar el largo de un string </li></ul></ul>
  33. 33. Funciones predefinidas más utilizadas (Build in functions) <ul><li>LCase() y UCase() </li></ul><ul><ul><li>Para poner los caracteres en un string en Lower case o Upper case </li></ul></ul><ul><li>Mid(), Right(), Left() </li></ul><ul><ul><li>Para obtener un substring de un string </li></ul></ul><ul><li>InStr() y InStrRev() </li></ul><ul><ul><li>Para verificar si existe un string en algún string (devuelve la posición donde existe) </li></ul></ul>
  34. 34. Funciones predefinidas más utilizadas (Build in functions) <ul><li>IsNumeric() </li></ul><ul><ul><li>Para ver si una expresión puede ser evaluada como un número </li></ul></ul><ul><li>IsDate() </li></ul><ul><ul><li>Para ver si una expresión puede ser evaluada como una fecha </li></ul></ul><ul><li>Now() </li></ul><ul><ul><li>Devuelve la fecha y hora en el instante en que se llama </li></ul></ul>
  35. 35. Funciones predefinidas más utilizadas (Build in functions) <ul><li>DateDiff() </li></ul><ul><ul><li>Para calcular la diferencia entre dos fechas en términos de horas, o minutos o dias o años, ect </li></ul></ul><ul><li>DateAdd() </li></ul><ul><ul><li>Para añadirle a una fecha cierta cantidad de dias o horas o años, ect. Pueden añadirse números negativos. </li></ul></ul>
  36. 36. Comenzando con Visual Basic <ul><li>Como atacar un problema </li></ul><ul><li>Técnicas de depuración </li></ul><ul><li>Algunos errores comunes </li></ul><ul><li>Consejos </li></ul>
  37. 37. Como atacar un problema <ul><li>Definir el problema – Conocer la naturaleza del problema </li></ul><ul><li>Observar más de un ejemplo resuelto </li></ul><ul><li>Escribir el pseudocódigo - Flujograma </li></ul><ul><li>Establecer los Inputs y Outputs del sistema - Hacer la interface gráfica de ser necesario. </li></ul><ul><li>Escribir el código. </li></ul><ul><li>Preparar el programa para evitar errores del usuario. </li></ul><ul><li>Decorarlo! </li></ul>
  38. 38. Técnicas de depuración (Debugging) <ul><li>BreakPoint </li></ul><ul><li>MsgBox </li></ul>
  39. 39. BreakPoint Hacer un click en la banda de la izquierda Se sabe que esta marcada por el formato que toma la linea
  40. 40. BreakPoint <ul><li>Se puede colocar el mouse encima de las variables para ver el valor que tienen en el momento. </li></ul><ul><li>Para moverse a la próxima linea oprimir F8 en el teclado. </li></ul><ul><li>Para continuar la ejecución oprimir F5 en el teclado. </li></ul>
  41. 41. MsgBox <ul><li>Muestra en pantalla el valor de una ecuación o de una variable. </li></ul><ul><li>Hay diferentes tipos de MsgBox </li></ul>
  42. 42. MsgBox
  43. 43. Errores comunes <ul><li>Cuando se trata de sumar dos números se concatenan como strings y no se suman números. </li></ul><ul><li>No revisar las condiciones terminales de un Do o de un While lo que conduce a Loops infinitos . </li></ul><ul><ul><li>Para salir de un loop infinito oprime las teclas ctrl+break . </li></ul></ul>
  44. 44. Consejos <ul><li>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. </li></ul><ul><li>Indenten el código para hacerlo más legible. </li></ul><ul><li>Buscar cualquier información necesaria en el internet. </li></ul><ul><ul><li>http://www.microsoft.com </li></ul></ul><ul><ul><li>http:// www.google.com </li></ul></ul>
  45. 45. Próximo: Ejemplo descriptivo <ul><li>Se cubrirá como: </li></ul><ul><ul><li>Utilizar la Interfase Visual Basic en Excel. </li></ul></ul><ul><ul><li>Crear formularios (UserForms) y Módulos (Modules). </li></ul></ul><ul><ul><li>Hacer referencia a controles del formulario. </li></ul></ul><ul><ul><li>Utilizar parte de lo discutido en esta presentación. </li></ul></ul><ul><ul><li>Hacer funciones y hacer referencia a estas. </li></ul></ul><ul><ul><li>Hacer referencia a celdas (Cells) y rangos (Ranges) de Excel. </li></ul></ul>

×