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

Cel: 98197354 helper.chile@gmail.com

1

La versatilidad de Microsoft Excel – VBA (Macros) 9. Objetivos del Curso 1.2 3.1 3.3 3. ¿Por qué MS Excel + VBA y no Access? 7.3 3.1 1. Ejemplos de Sistemas desarrollados bajo Excel – VBA 2 . buscar y Analizar Datos. Dificultades del proceso de programación tradicional 6.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.1 2.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) INDICE 1. Ventajas del conocimiento avanzado de MS Excel + VBA 8. Metodología del Curso de Excel Avanzado con VBA (Macros) 4. 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.4 3. Temario (36 horas) Organizar. Consideraciones preliminares 3.2 2.2 2.

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

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. etc. Metodología del Curso de Excel Avanzado con VBA (Macros) 3. podrá llegar a un punto o nivel en el que podrá desarrollar rutinas altamente complejas o automatizar tareas muy sofisticadas. se encuentran pre-programadas en Excel. como se relacionan e interactúan entre ellos y con otros datos o áreas. en su defecto. el alumno podrá crear procesos intuitivos tal como lo hace un programador. búsqueda. administración o gestión de bases de datos.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. Es el especialista. etc. 3. Esto es verdadero por dos razones: El usuario es el que conoce su “negocio”. Luego. con el tiempo. que perfectamente puede lograr desarrollos de alto nivel para satisfacer sus bien conocidas y reconocidas necesidades de automatización.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.3 Expectativas No es exagerado afirmar que muchos usuarios. exportación e importación de datos hacia/desde el ambiente de red.2 ¿Quién puede aprender MS Excel + VBA? Cualquiera podrá desarrollar macros simples (VBA) y luego. No es necesario ser un programador profesional para aprender cómo utilizar VBA con Excel. clasificaciones. estructura. Los conoce bien. su complejidad y sus respectivas necesidades de automatización. Es el “dueño” o propietario de sus datos. en su mismo ámbito de trabajo. 2. Esto representa un tremendo menor costo en el desarrollo de funciones del tipo financieras. estadísticas. conoce el trabajo que realiza. además es propietario de las formas en que deben usarse. 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. filtros avanzados. 2. filtros. conoce su importancia y utilidad. con tiempo y el interés suficiente. A veces será necesario recurrir a una reinstalación completa de Excel u Office. después de alrededor de una semana aprendiendo los aspectos mas relevantes de MS Excel asociado a este lenguaje de programación. conoce su origen. podrán desarrollar sus aplicaciones mucho mejor que las que podría lograr un programador profesional utilizando el lenguaje VB u otro. La segunda razón es que el usuario puede llegar a conocer el lenguaje VBA tan bien. se debe configurar Excel propiamente tal. creación de reportes o informes diversos. 4 . en segundo lugar. matemáticas. reportes.

4 Duración El curso de Excel Avanzado requiere 36 horas de instrucción.3 In House El curso necesariamente debe efectuarse en las instalaciones del Cliente.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. suficiente para asimilar las materias mas avanzadas que trataremos desde el inicio de las clases. 3. con el objeto de perfeccionar lo aprendido. 2003.5 Soporte Ex Curso Una vez terminado el curso. No somos OTEC. equipos y el software pertinente (Excel 2000. quien deberá aportar las posiciones.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) 3. los alumnos tendrán un periodo de apoyo presencial de 2 a 3 semanas (a convenir). 3. modificaciones o mejoras de las existentes. aclarar dudas o ayudar en el desarrollo de sus nuevas aplicaciones. 3. 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. 2007 ó 2010). 5 .

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

With) Funciones Códigos para trabajar con ODBC. Filtrar información en una lista. Vincular libros de trabajo. Then. Loop. celdas. 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. filas y columnas Cuadros de mensajes (msgbox) Automatización de filtros y ordenamiento de datos Variables Declaraciones (If. ElseIf. Utilizar complementos de análisis.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) • • • • • • • • Crear listas. 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. Ingresar nuevos registros en una lista. Aplicar contraseña de apertura y escritura a un archivo de Excel. Do. While. End If. 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. For. Usar consolidación de datos.

Esto también ocurre debido a que el programador no ha sabido interpretar. utilizando el propio lenguaje de los programadores profesionales. es realizar el “Análisis Estructurado” del fenómeno. Si utiliza Access u otro programa de base de datos. traducir. igual. La mayoría de las veces hemos observado que ha sido un costoso error. 5. Access es una aplicación de base de datos. pensando que podrán hacer mas y mejor. es “conocer” todos los aspectos del trabajo que realiza un usuario. Dificultades del proceso de programación tradicional Lo primero que hace un programador cuando es solicitado su servicio para automatizar o desarrollar un programa. produciéndose confusiones y dilataciones innecesarias de los plazos. modelar o estructurar adecuadamente el trabajo del usuario. lo que es vital para poder efectuar el desarrollo posterior. Tareas largas y a veces agobiantes que el usuario no logra interpretar adecuadamente. Nuestra experiencia REAL es que. 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. 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). 6. Una ventaja indirecta de la asimilización de esta materia. 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.Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros) Definición de Requerimientos 2010 Se incluye 4 ó 6 horas. Lo que hace. el que incluye la Definición del Requerimiento y el Diseño Lógico con su correspondiente post-etapa de Modelamiento de Datos. modificaciones o mejoras del mismo. mientras que MS Excel permite ANALIZAR datos y generar infinidad de modalidades de reportes utilizando funcionalidades matemáticas. ¿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. El objetivo de esta sección. 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. es decir está “aprendiendo” el trabajo del usuario. siempre tendrá que recurrir a Excel para realizar los 8 . 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. Sirviendo adicionalmente de documentación del proceso automatizado. estadísticas y financieras de las que Access carece.

bien utilizada y con conocimiento de las variantes que puede adoptar en su estructura.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. pudiendo.000. la que por si sola. el cual. 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. El primero dice relación con la suficiente disponibilidad de tiempo que el usuario tenga para desarrollar sus aplicaciones o programas. 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. demoras y frustración entre el personal solicitante del servicio. Una de las grandes desventajas de utilizar Access para administrar bases de datos importantes. A nuestro juicio hay cuatro puntos de vista. deberá desempolvar la respectiva documentación. si la demanda es alta. la demora y la dificultad del entrenamiento en Access es muchísimo superior que finalizar un programa avanzado de MS Excel + VBA. Cuando esto es así. será lógico esperar atrasos. y enrielarse nuevamente en un lapso incierto. en vista de la dificultad para aprender esta aplicación. efectuar las modificaciones y/o actualizaciones que sean necesarias. 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. El usuario del sistema tradicional deberá además enfrentarse a la disponibilidad de tiempo de atención del programador de VB u otro lenguaje. Finalmente el costo. Ventajas asociadas al conocimiento avanzado de MS Excel + VBA por parte de los usuarios. fácil y rápidamente. la mayoría de las veces. será el mismo el administrador y mantenedor de su propio sistema.000 de líneas de trabajo multiplicada por mas de 250 hojas de trabajo. como por ejemplo desconocimiento de la existencia y formas de uso de la poderosa función =SUMAPRODUCTO. 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. es que. 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. lo cual es muy dificultoso de obtener en Access. siendo la mayor parte de las veces imposible. Para ello las versiones de Excel 2007 y Excel 2010 cuentan con un poco mas de 1. siempre existirá el asesor externo 9 . perfectamente puede satisfacer las necesidades de administración de datos y “reporting” de un área financiera y/o contable de envergadura. 7. Esto representa un ahorro de tiempo y dinero extraordinario si se compara esta situación con la tradicional llamada al programador original. todo esto en un solo archivo o libro. si es que existe. disponibilidad que no siempre dependerá del mismo programador sino que de prioridades definidas en su área de origen.

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

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

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

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

Sign up to vote on this title
UsefulNot useful