Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros

)

2010

Curso Avanzado de Excel con Visual Basic for Applications (VBA – Macros)
Santiago de Chile, 2010

Cristián Del Otero Cel: 98197354 helper.chile@gmail.com

1

2 2. La versatilidad de Microsoft Excel – VBA (Macros) 9. buscar y Analizar Datos.1 3.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) INDICE 1.3 3.4 Generales Específicos ¿Qué es VBA? (Macros) ¿Quién puede aprender MS Excel + VBA? Expectativas Revisión ambiente operativo y de hardware Sin rodeos!!! Modalidad In House Duración Soporte Ex Curso 2010 2. ¿Por qué MS Excel + VBA y no Access? 7. Consideraciones preliminares 3.3 3.1 2. Objetivos del Curso 1. Dificultades del proceso de programación tradicional 6. Metodología del Curso de Excel Avanzado con VBA (Macros) 4.4 3.2 3.2 2.1 1. Temario (36 horas) Organizar. Gestión de Bases de Datos Formatear Datos y Contenido Trabajo en red Administrar Datos y Libros de Trabajo Automatización Definición de Requerimientos (Análisis Estructurado – Modelamiento de Datos) 5. Ventajas del conocimiento avanzado de MS Excel + VBA 8. Ejemplos de Sistemas desarrollados bajo Excel – VBA 2 .

Una vez validado el código de VBA. Lograrán tener la convicción de que TODO se puede hacer por medio de MS Excel + VBA.2 Objetivos Específicos del Curso Aumentar la productividad de los usuarios drásticamente.Macros). Los usuarios aprenderán a automatizar sus tareas mas rutinarias y tediosas. no a programadores. Este curso está dirigido a ejecutivos. que los usuarios tengan la convicción que por medio de la combinación Microsoft Excel + VBA (Visual Basic for Applications . que podrá destinarse para otras cosas. Las restricciones que afecten al usuario estarán acotadas sólo por la profundidad del conocimiento del lenguaje VBA. 1. podrán ser utilizadas y/o consultadas y/o actualizadas por otros usuarios en forma fácil y segura. Podrán crear Menús didácticos. Consideraciones preliminares 1. optimización del tiempo y el trabajo diario. las tasas de error tenderán a cero. Las aplicaciones creadas.1 ¿Qué es VBA? (Macros) VBA es un lenguaje de programación que permite al usuario crear códigos que generan procesos y tareas automáticos dentro de una aplicación MS como lo es Excel. Los usuarios podrán interactuar con diversas Bases de Datos. La diferencia con el lenguaje VB (Visual Basic) es precisamente el público destino. El curso necesariamente debe efectuarse en las instalaciones del Cliente (In House). los que podrán ser utilizados por cualquier persona sin conocimientos de macros. quien deberá aportar las posiciones. Objetivos del curso 1.1 Objetivos Generales del Curso 2010 Lograr. técnicos. con el fin de actualizarlas u obtener datos. La diferencia crítica es que en VBA la mayoría de las funciones de análisis y 3 . Los usuarios podrán crear funciones personalizadas. Este lenguaje está dirigido a usuarios. pueden lograr TODO lo que necesitan realizar a nivel de automatización. generación de reportes. también puede recurrir a funciones pre-programadas como veremos a continuación.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) 1. 1. compartir y obtener información. no a programadores. Lo que sucede es que el enfoque es diferente. Ahorrar tiempo. VB es para programadores. administrativos y oficinistas en general. No se trata de una suerte de discriminación. equipos y el software pertinente. Es muy simple y fácil de aprender. Maximizar la precisión de los resultados y minimizar los errores. profesionales. el nivel de dominio de las funcionalidades de Excel y su propia imaginación. nada más. VBA es para usuarios oficinistas y profesionales.

4 . búsqueda.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) 2010 procesamiento de datos típicamente necesarias en cualquier organización de negocios. estructura. La segunda razón es que el usuario puede llegar a conocer el lenguaje VBA tan bien. 3.3 Expectativas No es exagerado afirmar que muchos usuarios. Luego. creación de reportes o informes diversos. etc. etc. Esto representa un tremendo menor costo en el desarrollo de funciones del tipo financieras. reportes. el alumno podrá crear procesos intuitivos tal como lo hace un programador. después de alrededor de una semana aprendiendo los aspectos mas relevantes de MS Excel asociado a este lenguaje de programación. en su mismo ámbito de trabajo.2 ¿Quién puede aprender MS Excel + VBA? Cualquiera podrá desarrollar macros simples (VBA) y luego.1 Revisión ambiente operativo y de hardware Nuestra metodología considera en primer lugar evaluar y estandarizar el ambiente de software y hardware bajo el cual se ejecutarán las aplicaciones de MS Excel y VBA. se encuentran pre-programadas en Excel. conoce su origen. estadísticas. además es propietario de las formas en que deben usarse. Es el “dueño” o propietario de sus datos. Esto es verdadero por dos razones: El usuario es el que conoce su “negocio”. se debe configurar Excel propiamente tal. con tiempo y el interés suficiente. en su defecto. Los conoce bien. su complejidad y sus respectivas necesidades de automatización. como se relacionan e interactúan entre ellos y con otros datos o áreas. en segundo lugar. Metodología del Curso de Excel Avanzado con VBA (Macros) 3. 2. que perfectamente puede lograr desarrollos de alto nivel para satisfacer sus bien conocidas y reconocidas necesidades de automatización. matemáticas. filtros avanzados. Lo relevante de todo esto es que NO ES NECESARIO REINVENTAR LA RUEDA cada vez que se haga un desarrollo como es lo habitual en VB u otro lenguaje de programación. podrá utilizar VBA para crear bases de datos estructuradas. exportación e importación de datos hacia/desde el ambiente de red. podrá llegar a un punto o nivel en el que podrá desarrollar rutinas altamente complejas o automatizar tareas muy sofisticadas. Es el especialista. A veces será necesario recurrir a una reinstalación completa de Excel u Office. conoce su importancia y utilidad. con el tiempo. 2. clasificaciones. podrán desarrollar sus aplicaciones mucho mejor que las que podría lograr un programador profesional utilizando el lenguaje VB u otro. conoce el trabajo que realiza. administración o gestión de bases de datos. filtros. No es necesario ser un programador profesional para aprender cómo utilizar VBA con Excel. Lo único que hay que hacer es “ensamblar” las funcionalidades pre-programadas utilizando diversas técnicas o rutinas las cuales se revelarán y enseñará a utilizarse adecuadamente en este curso.

equipos y el software pertinente (Excel 2000. 3. 2007 ó 2010). El supuesto del curso respecto de los asistentes es que estos tienen un mínimo de fluidez y experiencia en el uso de la herramienta. 2003. 3. suficiente para asimilar las materias mas avanzadas que trataremos desde el inicio de las clases. quien deberá aportar las posiciones.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) 3.4 Duración El curso de Excel Avanzado requiere 36 horas de instrucción.5 Soporte Ex Curso Una vez terminado el curso. modificaciones o mejoras de las existentes.3 In House El curso necesariamente debe efectuarse en las instalaciones del Cliente. los alumnos tendrán un periodo de apoyo presencial de 2 a 3 semanas (a convenir). aclarar dudas o ayudar en el desarrollo de sus nuevas aplicaciones. con el objeto de perfeccionar lo aprendido.2 Sin rodeos!!! 2010 No se hará instrucción sobre aspectos básicos de MS Excel como la descripción y uso de los diversos menús que lo conforman. 5 . No somos OTEC. 3.

financieras. • Importar campos almacenados en tablas y/o consultas. Administrar Datos y Libros de Trabajo • Exportar y guardar los datos del libro en formato XML. • Permitir que más de un usuario pueda realizar cambios simultáneamente. etc. Definir nombres de listas a rangos extendidos de datos. csv. matemáticas. etc. • Menú de Análisis de datos (estadísticas avanzadas como pronósticos por ejemplo. avanzado con y sin criterios). Trabajo en red • Proteger hojas de cálculo y libros de trabajo. Contar. • Crear y Modificar gráficos. Temario (36 horas) 2010 Organizar. txt. eserror. XML) • Inspeccionar una celda o fórmula. • Crear áreas de trabajo. fourier. buscar y Analizar Datos.). (ahorra espacio y optimiza la construcción de fórmulas) • Usar funciones de búsqueda y referencia • Funciones avanzadas (Sumaproducto. asignar vacaciones eficientemente según preferencias de los trabajadores.) Formatear Datos y Contenido • Aplicar formatos condicionales. sumar. • Crear asignaciones XML. coincidir. • Aplicar nombres de rango. Desviación Estándar. indice. Gestión de Bases de Datos • Trabajando con subtotales. histográma. • Incorporación de rangos dinámicos a las funciones (para calcular solo el área de datos) • Trabajando con Bases y Tablas externas ODBC (SQL. • Crear. Promedios. estadísticas. • Filtrar y presentar registros según diferentes criterios (incluye Filtro normal. xl*.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) 4. • Aceptar y rechazar cambios en libros de trabajo. Por ejemplo. • Combinar libros de trabajo. incluyendo incorporación de fórmulas y establecimiento de rangos dinámicos) • Solver (resolutor probabilístico). otras) • Funciones Matriciales: Tal vez uno de los aspectos mas poderosos de Excel y poco conocido. Se verá como personalizar o modificar su estructura para satisfacer rquerimientos específicos. 6 . • Utilizar la función de validación de datos. editar y aplicar plantillas. Cómo generar fórmulas personalizadas que permitan discriminar entre múltiples variables o condiciones solicitadas (Suma. regresión. tiempos. • Crear y trabajar con Tablas Dinámicas.si. texto. • Agrupar y ordenar objetos.

Ingresar nuevos registros en una lista. End If. Utilizar complementos de análisis. Vincular libros de trabajo. SQL y datos externos en general (importación y exportación) Userforms y Propiedades de control Cuadros de texto Botones de Comando (Command) Cuadros de listas desplegables Cuadros de chequeo 7 . Next. With) Funciones Códigos para trabajar con ODBC. Filtrar información en una lista. Do. While.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) • • • • • • • • Crear listas. operación y condiciones) • Modificando el código grabado (Edición) • Probando las macros • Eventos en VBA • Seguridad y proteción Vocabulario general Administrando cuadros de diálogo de Error Objeto Application Libros Hojas Rangos. filas y columnas Cuadros de mensajes (msgbox) Automatización de filtros y ordenamiento de datos Variables Declaraciones (If. Loop. Aplicar contraseña de apertura y escritura a un archivo de Excel. Texto en Columnas 2010 Automatización • Acceso al Editor de Visual Basic (VBE) • Ventana de proyecto en el VBE • Propiedades del VBE • Ventana de códigos • Iniciando una Macro en VBE • Grabador de Macros (acceso. Usar consolidación de datos. celdas. ElseIf. For. Then.

6. Una ventaja indirecta de la asimilización de esta materia. Nuestra experiencia REAL es que. Si utiliza Access u otro programa de base de datos. produciéndose confusiones y dilataciones innecesarias de los plazos. El objetivo de esta sección. Access es una aplicación de base de datos. lo que es vital para poder efectuar el desarrollo posterior. igual. correspondientes a materias de Definición de Requerimientos (Análisis Estructurado Moderno para determinar el Diagrama de Contexto y Subsistemas de Nivel1) y Modelamiento de Datos básico. facilitándose así futuras actualizaciones. SIEMPRE el resultado final utilizando MS Excel + VBA ha sido mejor y cumplido en un plazo ostensiblemente menor que el que considera un desarrollo tradicional. mientras que MS Excel permite ANALIZAR datos y generar infinidad de modalidades de reportes utilizando funcionalidades matemáticas. 5. modificaciones o mejoras del mismo. es que el alumno queda con los fundamentos teórico-prácticos para generar documentación técnica que facilita la comunicación con un experto programador. es “conocer” todos los aspectos del trabajo que realiza un usuario. utilizando el propio lenguaje de los programadores profesionales. Lo que hace. es realizar el “Análisis Estructurado” del fenómeno. ¿Por qué MS Excel + VBA y no Access? Algunos oficinistas y profesionales que trabajan con abundante flujo de datos han optado por reemplazar MS Excel por MS Access u otro software administrador de bases de datos.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) Definición de Requerimientos 2010 Se incluye 4 ó 6 horas. el que incluye la Definición del Requerimiento y el Diseño Lógico con su correspondiente post-etapa de Modelamiento de Datos. la mayoría de las veces en que hemos iniciado un proyecto de VBA en paralelo con uno de VB u otro lenguaje de programación. estadísticas y financieras de las que Access carece. La mayoría de las veces hemos observado que ha sido un costoso error. es entregar a los usuarios las herramientas que les permitan estructurar y modelar la idea de sistema que pretendan desarrollar correspondiente a su ámbito de trabajo (Diseño Lógico). Esto también ocurre debido a que el programador no ha sabido interpretar. es decir está “aprendiendo” el trabajo del usuario. Tareas largas y a veces agobiantes que el usuario no logra interpretar adecuadamente. pensando que podrán hacer mas y mejor. Dificultades del proceso de programación tradicional Lo primero que hace un programador cuando es solicitado su servicio para automatizar o desarrollar un programa. Sirviendo adicionalmente de documentación del proceso automatizado. modelar o estructurar adecuadamente el trabajo del usuario. siempre tendrá que recurrir a Excel para realizar los 8 . traducir.

demoras y frustración entre el personal solicitante del servicio. Para ello las versiones de Excel 2007 y Excel 2010 cuentan con un poco mas de 1. lo cual es muy dificultoso de obtener en Access. A nuestro juicio hay cuatro puntos de vista. Una de las grandes desventajas de utilizar Access para administrar bases de datos importantes. como por ejemplo desconocimiento de la existencia y formas de uso de la poderosa función =SUMAPRODUCTO. 7. El usuario del sistema tradicional deberá además enfrentarse a la disponibilidad de tiempo de atención del programador de VB u otro lenguaje. se produce lo que podríamos llamar “cuello de botella” donde sólo unos pocos usuarios o analistas manejan los pormenores de la aplicación. será el mismo el administrador y mantenedor de su propio sistema. será lógico esperar atrasos.000 de líneas de trabajo multiplicada por mas de 250 hojas de trabajo. en vista de la dificultad para aprender esta aplicación. la demora y la dificultad del entrenamiento en Access es muchísimo superior que finalizar un programa avanzado de MS Excel + VBA. si es que existe. deberá desempolvar la respectiva documentación. el cual. disponibilidad que no siempre dependerá del mismo programador sino que de prioridades definidas en su área de origen. fácil y rápidamente. si la demanda es alta. es que. Nos hemos dado cuenta que esto ha ocurrido cuando los usuarios han tenido un escaso conocimiento del potencial de automatización y contenido de funciones de MS Excel. Ventajas asociadas al conocimiento avanzado de MS Excel + VBA por parte de los usuarios. Como segundo aspecto a señalar como ventaja de que el usuario conozca el lenguaje de VBA y el potencial de funcionamiento de MS Excel. perfectamente puede satisfacer las necesidades de administración de datos y “reporting” de un área financiera y/o contable de envergadura. es que si aquel no dispone del tiempo suficiente para invertir en el desarrollo de un nuevo sistema o bien en la modificación o actualización de uno preexistente. siempre existirá el asesor externo 9 . todo esto en un solo archivo o libro. pudiendo.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) 2010 respectivos análisis de los tipos indicados precedentemente y generar los pertinentes reportes o informes estructurados. siendo la mayor parte de las veces imposible. esta estructura conforma un espacio de trabajo mas que suficiente para satisfacer al mas exigente ambiente de generación y análisis de datos masivos. Finalmente el costo. efectuar las modificaciones y/o actualizaciones que sean necesarias. Cuando esto es así. la mayoría de las veces. la que por si sola. Esto representa un ahorro de tiempo y dinero extraordinario si se compara esta situación con la tradicional llamada al programador original. bien utilizada y con conocimiento de las variantes que puede adoptar en su estructura. El primero dice relación con la suficiente disponibilidad de tiempo que el usuario tenga para desarrollar sus aplicaciones o programas. y enrielarse nuevamente en un lapso incierto.000.

procesamiento. que programas rivales como el Lenguaje “C” o Visual Basic no tienen. las tasas de errores y/o omisiones disminuyen a niveles prácticamente inexistentes. La fortaleza al usar Excel se manifiesta en que todos. 1. ya que el usuario ahora es también un EXPERTO en el tema. será capaz de aumentar su productividad como jamás pensó que podría hacerlo. interactuando ambos actores fluidamente. Los datos son controlados para obtener y procesar su TOTALIDAD.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) 2010 especialista que podrá ayudarlo entendiendo perfectamente el requerimiento. análisis y generación de reportes no son medidos en minutos sino que en HORAS DE AHORRO de tiempo POR DÍA Y POR USUARIO. EXACTAMENTE y con ACTUALIZACIONES permanentes. Tercero: una vez que el usuario de MS Excel + VBA logre manejar los temas contenidos en este programa de trabajo. No está demás señalar que la precisión del trabajo realizado aumenta drásticamente. generando un valor agregado enorme. y tal vez uno de los mas relevantes. La versatilidad de Microsoft Excel – VBA (Macros) Microsoft Excel. Finalmente. como cuarto punto de vista. en 10 . en combinación con Visual Basic for Applications cuenta con la capacidad para crear aplicaciones dedicadas. está referido a la VERSATILIDAD de la combinación de Microsoft Excel con Visual Basic for Applications (VBA o Macros). Existen numerosos ejemplos reales que pueden citarse donde los ahorros de tiempo en la obtención.

. . de esta forma los costos y el tiempo de desarrollo de cualquier aplicación son sustancialmente reducidos.csv. etc.) y simultáneamente tiene la funcionalidad adicional de utilizar la planilla de cálculo con todo su potencial de creación de fórmulas.) que permiten crear sofisticadas interfaces que son desarrolladas y testeadas rápidamente. ingeniería. de edición de texto. financieras.NET. .xl*.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) 2010 diversa medida. 11 . Visual Basic. lógicas. búsquedas. el entorno de Excel provee en forma natural un conjunto de herramientas (matemáticas. sabemos como usarlo. filtros. Excel tiene la CAPACIDAD ÚNICA para comunicarse DIRECTAMENTE con multiplicidad de Bases de Datos o Tablas de Datos. de gestión de Bases de datos. estadísticas.. etc. construidas en diversos formatos o lenguajes (SQL. Esto es así ya que todas las funcionalidades indicadas están PRE-CONSTRUIDAS. lenguaje “C”. XML. . cuyo único límite es la creatividad de cada usuario. etc. etc..txt.

Sistema de Control de Licencias Médicas 9.000 trabajadores 7. Sistema Control Actividades y Gastos capacitación. en armonía con la demanda de transacciones. Sistema de Control y Registro de Archivos de Dirección de RR. vigentes y no vigentes). Informe de Ausentismo (justificados e injustificados) 8. atrasos y tiempos improductivos) (mejor práctica mundial según norma de calidad COPC) 25. Sistema Control Marcaciones Biométrico (huella dactilar control acceso/salida) 11. Subgerencia Sistemas Empresa Industrial 2. BDD Personal (histórico y vigente) 12. Sistema de pronóstico regresión lineal 17. etc.HH. Sistema de pronóstico con análisis y suavización de curvas (mejor práctica mundial según norma de calidad COPC) 20. Sistema de Informe Gestión de Dirección de RR. (30. Isapres. Apoyo a Analistas de Empresa de Servicios de Telecomunicaciones en automatización de tareas específicas (finiquitos. Organigrama Automático en tiempo real e histórico (ante permanentes cambios en la estructura organizacional) 14. Sistema de Facturación Empresa de áridos 4. 12 . Sistema de pronóstico de Series Temporales desestacionalizadas 19. remuneraciones. Sistema de Cubicación Empresa constructora 3.HH. Sistema de pronóstico de Media Ponderada Móvil 21.000 trabajadores. 13. calidad.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) 9. operaciones. Sistema de Asignación de horarios de descansos y “lunch” a una Plataforma de Teleservicio. Ejemplos de Sistemas desarrollados bajo Excel – VBA 2010 1. Control de Gestión. Cálculo de reductores por intervalo de 30 minutos y día de semana (Ausentismo. Sistema de cálculo de AHT (Average Handle Time o TMO) 24. Sistema de Registro y cálculo de Comisiones e incentivos de Supervisores 10. Sistema de Contabilidad 5. 15. Sistema de pronóstico método Holt – Winter (series temporales multiplicativas) 18. Control de Producción. Sistema de pronóstico estacionalidad semanal 23. Sistema Control y Gestión Financiera Empresa productos del mar congelados 6.) 16. Sistema de pronóstico con método cíclico irregular 22. Informe de Rentabilidad de Empresa con 7. finanzas.

Sistema de Compatibilización de Curvas inter Plataformas o Servicios. Día. para coincidir con la oferta de demanda de transacciones o llamadas) 29. Etc. 34. 35. 31. 36. 28. se determinan la cantidad potencial de llamadas que podrían resolver ante determinados niveles de calidad definidos como objetivo. Entrega cantidad de teleoperadores. 32. su tipo de contrato (45. En base sólo a AHT (TMO) y cantidad de Teleoperadores por intervalo. Semanales) y los horarios de trabajo por día de semana. etc. Lo real. Plataforma. Adherencia o Adhesión por Supervisor. Intervalo.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) 2010 26. 13 . Cálculo de dotaciones óptimas. Calcular llamadas recibidas. Etc. Sistema de cálculo de dotaciones de personal requeridas en Call Center. 33. Es decir que proporción del tiempo de trabajo de un teleoperador coincidió con el tiempo de trabajo de un Supervisor en especial. 36. Bajo teorías Erlang-B y/o Erlang-C. Sistema de cálculo de Permanencia. Retrocálculo. Para evaluar estadísticamente comportamiento de la planificaci´pon vs. 30. 30. Sistema de control o retroalimentación del pronóstico: Escala Móvil 27. por intervalos de 30 minutos. 20 hrs. Programación del personal semi automática (ajustar nombres y preferencias de Teleoperadores con los Horarios correspondientes. Semana.

Sign up to vote on this title
UsefulNot useful