Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Nociones De Vba

3,288 views

Published on

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

Published in: Education, Technology, Business
  • Be the first to comment

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>

×