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.  Sub: Es una función que no devuelve ningún valor. resumido
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
For… Next
Do… Loop
While… Wend
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 Arreglos de una dimensión. Arreglos de más de una dimensión. Arreglos dinámicos. Arreglos que contienen arreglos.
Arreglos (Arrays) Tópicos Arreglos de una dimensión. Arreglos de más de una dimensión. Arreglos dinámicos. Arreglos que contienen arreglos.
1) Arreglos de una dimensión
Arreglos (Arrays) Tópicos Arreglos de una dimensión. Arreglos de más de una dimensión. Arreglos dinámicos. Arreglos que contienen arreglos.
2) Arreglos de más de una dimensión
Arreglos (Arrays) Tópicos Arreglos de una dimensión. Arreglos de más de una dimensión. Arreglos dinámicos. Arreglos que contienen arreglos.
3) Arreglos dinámicos
Arreglos (Arrays) Tópicos Arreglos de una dimensión. Arreglos de más de una dimensión. Arreglos dinámicos. Arreglos que contienen arreglos.
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
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
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
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. http://www.microsoft.com http:// www.google.com
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.

Nociones De Vba

  • 1.
  • 2.
    Objetivos del SeminarioComo 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
  • 3.
    Requerimientos Conomientos básicosde Excel Conceptos básicos de lógica de programación.
  • 4.
    Temas de lapresentación Conceptos de Programación Interfase Visual Basic Comenzando con Visual Basic
  • 5.
    VB vs VBAVBA  Visual Basic for Applications VBA es Visual Basic pero con algunos objetos específicos de la aplicación en uso ya declarados.
  • 6.
    Conceptos de programaciónConceptos básicos que se deben conocer sobre Visual Basic.
  • 7.
    Temas Option ExplicitTipos 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)
  • 8.
    Option Explicit Seutiliza 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.
  • 9.
    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
  • 10.
    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
  • 11.
    Comentarios Es textoque 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.
  • 12.
    If, Then, ElseIf,Else, End If
  • 13.
  • 14.
  • 15.
  • 16.
    Goto y LabelLabel Identifica un área en el código GoTo Transfiere el programa hacia un Label
  • 17.
    Arreglos (Arrays ofData) Nos permite guardar multiple información con una sola referencia. Ejemplo de los meses del año.
  • 18.
    Arreglos (Arrays) TópicosArreglos de una dimensión. Arreglos de más de una dimensión. Arreglos dinámicos. Arreglos que contienen arreglos.
  • 19.
    Arreglos (Arrays) TópicosArreglos de una dimensión. Arreglos de más de una dimensión. Arreglos dinámicos. Arreglos que contienen arreglos.
  • 20.
    1) Arreglos deuna dimensión
  • 21.
    Arreglos (Arrays) TópicosArreglos de una dimensión. Arreglos de más de una dimensión. Arreglos dinámicos. Arreglos que contienen arreglos.
  • 22.
    2) Arreglos demás de una dimensión
  • 23.
    Arreglos (Arrays) TópicosArreglos de una dimensión. Arreglos de más de una dimensión. Arreglos dinámicos. Arreglos que contienen arreglos.
  • 24.
  • 25.
    Arreglos (Arrays) TópicosArreglos de una dimensión. Arreglos de más de una dimensión. Arreglos dinámicos. Arreglos que contienen arreglos.
  • 26.
    4) Arreglos quecontienen 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
  • 27.
    Interfase - VisualBasic Controles más utilizados Eventos Algunas funciones de VBA
  • 28.
    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
  • 29.
    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
  • 30.
    Eventos Nombre delcontrol Eventos del control
  • 31.
    Funciones Predefinidas Algunasde las funciones más comúnmente utilizadas de VBA .
  • 32.
    Funciones predefinidas másutilizadas (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
  • 33.
    Funciones predefinidas másutilizadas (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)
  • 34.
    Funciones predefinidas másutilizadas (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
  • 35.
    Funciones predefinidas másutilizadas (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.
  • 36.
    Comenzando con VisualBasic Como atacar un problema Técnicas de depuración Algunos errores comunes Consejos
  • 37.
    Como atacar unproblema 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!
  • 38.
    Técnicas de depuración(Debugging) BreakPoint MsgBox
  • 39.
    BreakPoint Hacer unclick en la banda de la izquierda Se sabe que esta marcada por el formato que toma la linea
  • 40.
    BreakPoint Se puedecolocar 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.
  • 41.
    MsgBox Muestra enpantalla el valor de una ecuación o de una variable. Hay diferentes tipos de MsgBox
  • 42.
  • 43.
    Errores comunes Cuandose 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 .
  • 44.
    Consejos Revisar lasfunciones 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
  • 45.
    Próximo: Ejemplo descriptivoSe 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.