Taller 1 macros excel renee gonzalez martinez

19,988 views

Published on

To learn a little bit about VB for Excel

Published in: Education
2 Comments
2 Likes
Statistics
Notes
No Downloads
Views
Total views
19,988
On SlideShare
0
From Embeds
0
Number of Embeds
26
Actions
Shares
0
Downloads
622
Comments
2
Likes
2
Embeds 0
No embeds

No notes for slide

Taller 1 macros excel renee gonzalez martinez

  1. 1. Macros en Excel. Taller N⁰ 1 Por: Ing. Reneé González Martínez C.I.: 11.888.960 Prof. La Universidad del Zulia Email: reneegonzalezm@gmail.com Maracaibo, Venezuela , Septiembre 2010
  2. 2. Objetivos Especificos de los cursos  Reconocer el entorno de desarrollo de VBA en Excel.  Identificar los objetos de control básicos, a partir de ejercicios prácticos.  Diferenciar las estructuras de control : If, Case, For, While.  Construir distribuciones probabilísticas usando funciones definidas por otros usuarios.  Ejecutar simulaciones y pronósticos en Crystal Ball a partir de macros  Construir gráficos a partir de los resultados de los pronósticos
  3. 3. Alcance del taller  Está orientado a facilitar el desarrollo de habilidades para la programación de macros en Excel a partir de 4 sesiones. Lo que no es el taller…  No es una clase magistral que presenta teorias o discute tesis.
  4. 4. Contenido de Clase 1 1.1. Definiciones Básicas: Macro, Entorno de Desarrollo Integrado,Variables, Procedimientos, Estructuras de Control. 1.2. Configuración para el entorno de desarrollo de VBA para Excel. 1.3. Entorno de Desarrollo (IDE): Menu, Objetos de Control, Modo Diseño y Modo de Ejecución, Editor de VBA. 1.4. Objetos de Control: De Formulario y ActiveX
  5. 5. Contenido (Continuación) 1. 4.1. El Botón de Comando (Command Button) 1.4.2. El Botón de Opción (Option Button) 1.4.3. La Lista (Listbox) 1.4.4. La Lista Desplegable (Combobox) 1.4.5. El Contenedor (Frame) 1. 5. Sintaxis Básicas de VBA: Dim, Sheets, Cells, Activate, ClearContents, Msgbox, Range.
  6. 6. 1.1. DEFINICIONES BÁSICAS ¿Qué es una macro?: Es una serie de instrucciones almacenadas para ser ejecutadas posteriormente a partir de una llamada. El uso de macros permite la automatización de tareas repetitivas. ¿Con qué lenguaje de programación vamos a trabajar? VBA (Visual Basic for Applications) es un lenguaje de macros de Microsoft Visual Basic usado para programar aplicaciones bajo Windows, incluidas en varias aplicaciones Microsoft. VBA es un subconjunto de Visual Basic 6.0.
  7. 7. Algoritmo Es una secuencia de instrucciones que conforman un modelo de solución para resolver un problema o ejecutar una actividad. El algoritmo puede ser escrito (pseudocódigo) representado en forma gráfica (diagrama de flujo) Un programa Es un algoritmo escrito en un lenguaje de programación. Por ello, se debe respetar la sintaxis y enmarcar la solución del problema dentro de las características del lenguaje de programación. Ejemplos de Lenguajes de Programación: Lenguaje C, Pascal, Fortran, Basic, html, Java.
  8. 8. Entorno de Desarrollo Integrado o IDE (Integrated Development Environment) Es una aplicación, que consta de un editor de código, un traductor, un depurador y un constructor de interfaz gráfica (GUI). Los IDE’s pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes. El lenguaje Visual Basic, por ejemplo, puede ser usado dentro de las aplicaciones de Microsoft Office, lo que hace posible escribir sentencias Visual Basic en forma de macros para Excel. Los IDE proveen un marco de trabajo amigable para la mayoría de los lenguajes de programación tales como: C++, Java, C#, Delphi, Visual Basic , etc.
  9. 9. Entorno de Desarrollo Integrado o IDE (Integrated Development Environment) El editor es un programa como “un procesador de textos” que permite la escritura del código fuente (para lo cual debe conocerse la sintaxis del lenguaje de programación). El traductor es un programa que convierte el código fuente a un código objeto y luego a un código ejecutable. El traductor puede ser un compilador o un intérprete. El primero de ellos revisa la sintaxis y si no se detectan errores hace la traducción del código fuente a un lenguaje de bajo nivel mientras que el intérprete hace la revisión línea por línea. El depurador es un programa que facilita la revisión del código. El constructor de Interfaz gráfica facilita la construcción del entorno gráfico.
  10. 10. Entorno de Desarrollo Integrado o IDE (Integrated Development Environment)  ¿A qué programa del IDE corresponde la siguiente figura?
  11. 11. Una Variable Es un espacio de memoria reservado para el almacenamiento de valores que pueden cambiar durante la ejecución de un programa. Requiere de un identificador o nombre y de un tipo de datos. Ejemplo: Dim v as Integer, Dim x as Double, Dim p as String, Public v1 as Integer, Public v2 as Double.
  12. 12. Un Procedimiento en VBA Es un bloque de instrucciones que ejecuta una tarea específica. Tiene un nombre o identificador y puede recibir o no parámetros. Se puede llamar a un procedimiento desde distintos lugares del código. Luego de su ejecución, el control del flujo del programa regresa al punto que llamó al procedimiento. Hacer click en un botón de comando se traduce en un procedimiento, hacer un click en una lista se traduce en un procedimiento, una macro … Los procedimientos private sub o sub son comunes en VBA. Private Sub BotonDeComando _Click() InputBox (“Ingrese el Valor de …”) … End Sub
  13. 13. 1.2. Settings para el Programador de VBA.  Instalar Crystal Ball y Office 2007 (preferiblemente)  En Excel, ir a botón de Office y hacer click en el botón “Opciones de Excel”
  14. 14.  Hacer click en la casilla de verificación “Mostrar ficha Programador En la cinta de opciones” y luego presionar “Aceptar”
  15. 15. 1.2. Settings para el Programador de VBA.  En Excel, en la etiqueta “Programador”, ir a botón de “Visual Basic y hacer click (con ello se muestra el editor de Visual Basic)
  16. 16.  Hacer click en la etiqueta “Herramientas” y Seleccionar “Referencias”  Seleccionar los item mostrados y presionar “Aceptar”
  17. 17. 1.3. Entorno de Desarrollo de VBA .
  18. 18. 1.3. Entorno de Desarrollo de VBA .  Seleccione todas las filas y columnas del libro activo .  Presione botón derecho y seleccione “Formato de Celdas”  Seleccionar el color de fondo blanco  Haga click en el color blanco y presione “Aceptar”
  19. 19. 1.4. Controles de Formularios Versus Controles Activex. Ejercicio:  Crear dos botones de comando: Un botón de comando de los controles de formulario y un botón de comando de los controles ActiveX .  Para cada botón escribir el siguiente código: MsgBox "Hola. Soy el Prompt", vbOKOnly, "Soy el titulo“
  20. 20. 1.4. Controles de Formularios Versus Controles Activex. Propósito:  Establecer comparaciones en cuanto a nombre del control, forma de codificar y alcance del código.  Analizar: ¿Cómo se puede reutilizar el código usando un control Activex?
  21. 21. Pasos para construir el 1er botón 1.4. Controles de Formularios Versus Controles Activex. 1. Hacer click en “Modo Diseňo” 2. Hacer click en el menu “Insertar” y luego en el control de botón de “ Controles de formulario”
  22. 22. 3. Escribir el nombre de la macro y presionar el boton “Nuevo”
  23. 23. Pasos para construir el 1er botón 4. Escribir el código en el editor
  24. 24. Para modificar el texto del botón  En Modo Diseňo, hace click con el botón derecho  Hacer click en “Modificar texto” y cambiar el nombre del texto: “Control de Formulario”  Para ejecutar la macro, haga el clic en el botón creado
  25. 25. 1.4. Controles de Formularios Versus Controles Activex.  Para recordar lo que se quiere…
  26. 26. Pasos para construir el 2do botón 1.4. Controles de Formularios Versus Controles Activex. 1. Hacer click en “Modo Diseňo” 2. Hacer click en el menu “Insertar” y luego en el control de botón de “ Controles ActiveX”
  27. 27. Pasos para construir el 2do botón 1.4. Controles de Formularios Versus Controles Activex.  Para las propiedades del botón, haga click derecho en el botón.  Aparece un menu emergente y haga click en “Propiedades”
  28. 28. Pasos para construir el 2do botón  En la propiedad “Caption” escriba “Control ActiveX”  En la propiedad “Name” escriba “cmdMensaje”  Cierre la ventana “Propiedades”  Haga dobleclick en el botón en estudio
  29. 29. Pasos para construir el 2do botón  Escriba el siguiente código dentro del Private - End Sub  MsgBox "Hola. Soy el Prompt", vbOKOnly, "Soy el titulo“  Cierre la ventana para pasar a la interfaz
  30. 30. Comparaciones
  31. 31. 1.4. Diferencias entre Controles de Formularios Vs Controles Activex. Controles Activex Controles de Formulario Se codifican ante eventos Se Codifican en macros promovidos por el usuario (Click, (procedimientos) DobleClick, Cambios, etc.) El alcance del código es local a la El alcance del código es global hoja donde se halla el control dentro del libro El código se halla dentro de un El código se halla dentro del par private sub /- end sub sub – end sub Para tener acceso al código basta Para tener acceso al código debe con hacer doble click en el objeto entrar al menu “Ver macro” ¿Con qué tipo de controles programamos ?
  32. 32. 1.4.1. El Botón de Comando. Ejercicio: Construya la siguiente interfaz (lado izquierdo) y codifique los botones (lado derecho) Sub sumar() „Ojo: Discutir Suma y sumar Cells(7, 5) = Cells(7, 3) + Cells(7, 4) End Sub Sub Limpiar() Range(Cells(7, 5), Cells(7, 3)).Select Selection.ClearContents End Sub Sub Limpiar2() ActiveSheet.Range("c7:e7").Select Selection.ClearContents End Sub
  33. 33. 1.4.2. El Botón de Opción y el Control Contenedor. Ejercicio: Construya la siguiente interfaz (lado izquierdo) y codifique los botones (lado derecho) Private Sub CmdIraModelo_Click() „ Si se selecciona la declinación exponencial If OptDecExp = True Then Sheets("Exponencial").Select End If „Si se selecciona la declinación hiperbólica If OptDecHip = True Then Sheets("Hiperbolica").Select End If End Sub De acuerdo al código y a la interfaz, identifique: 1. Tipo de controles son usados y nombre de los controles 2. Acción de los botones 3. Número y nombre de las hojas del Libro
  34. 34. 1.4.3. La Lista. Ejercicio: Construya la siguiente interfaz (lado izquierdo) y codifique los botones (lado derecho) Private Sub cmdOk_Click() If ListBox1.ListIndex = 0 Then MsgBox "PEMEX" End If If ListBox1.ListIndex = 1 Then MsgBox "ECOPETROL" End If If ListBox1.ListIndex = 2 Then MsgBox "PDVSA" End If If ListBox1.ListIndex = 3 Then MsgBox "CHEVRON" End If End Sub
  35. 35. 1.4.3. La Lista. Pasos sugeridos: 1. Construya la Interfaz Gráfica 2. Construya una lista en excel, sombre la lista y En el cuadro de nombre coloque Empresas
  36. 36. 1.4.3. La Lista. Ejercicio. 3. Haga click derecho en el objeto lista y en la propiedad ListfFillRange asigne Empresas . 4. Escriba el código Private Sub cmdOk_Click() If ListBox1.ListIndex = 0 Then MsgBox "PEMEX" End If If ListBox1.ListIndex = 1 Then MsgBox "ECOPETROL" End If If ListBox1.ListIndex = 2 Then MsgBox "PDVSA" End If If ListBox1.ListIndex = 3 Then MsgBox "CHEVRON" End If End Sub
  37. 37. 1.4.3. La Lista. Ejercicio: Construya la siguiente interfaz (lado izquierdo) y codifique los botones (lado derecho) Private Sub cmdOk_Click() Select Case ListBox1.ListIndex Case 0 MsgBox "PEMEX" Case 2 MsgBox "ECOPETROL" Case 3 MsgBox "PDVSA" Case 4 MsgBox "CHEVRON" End Select End Sub
  38. 38. 1.4.3. La Lista. Ejercicio: Construya la siguiente interfaz (lado izquierdo) y codifique los botones (lado derecho) Private Sub cmdOk_Click() txt1 = ListBox1.Text End Sub Consideraciones: 1. ¿ Qué funciones o métodos corresponden al control Lista? (Usar el editor para identificar los métodos)
  39. 39. 1.4.4. La Lista Desplegable. Ejercicio: Construya la siguiente interfaz (lado izquierdo) y codifique los botones (lado derecho) Private Sub cmdCalcular_Click() Dim base As Double Dim resultado As Double base = Cells(7, 4) If ComboBox1.ListIndex = 0 Then resultado = base ^ 2 End If If ComboBox1.ListIndex = 1 Then resultado = base ^ 3 End If ActiveSheet.Range("d8").Select Cells(8, 4) = resultado Consideraciones: End Sub 1. Cree una lista con dos elementos: Cuadrado y Cubo 2. Use la propiedad ListfillRange. Oculte la lista (en este caso se halla oculta en “F”)

×