You are on page 1of 13

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

Cristin Del Otero Cel: 98197354 helper.chile@gmail.com

Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros)
INDICE 1. Objetivos del Curso 1.1 1.2 2.1 2.2 2.3 3.1 3.2 3.3 3.4 3.4 Generales Especficos Qu es VBA? (Macros) Quin puede aprender MS Excel + VBA? Expectativas Revisin ambiente operativo y de hardware Sin rodeos!!! Modalidad In House Duracin Soporte Ex Curso

2010

2. Consideraciones preliminares

3. Metodologa del Curso de Excel Avanzado con VBA (Macros)

4. Temario (36 horas)


Organizar, buscar y Analizar Datos. Gestin de Bases de Datos Formatear Datos y Contenido Trabajo en red Administrar Datos y Libros de Trabajo Automatizacin Definicin de Requerimientos (Anlisis Estructurado Modelamiento de Datos)

5. Dificultades del proceso de programacin tradicional 6. Por qu MS Excel + VBA y no Access? 7. Ventajas del conocimiento avanzado de MS Excel + VBA 8. La versatilidad de Microsoft Excel VBA (Macros) 9. Ejemplos de Sistemas desarrollados bajo Excel VBA

Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros)
1. Objetivos del curso 1.1 Objetivos Generales del Curso

2010

Lograr, que los usuarios tengan la conviccin que por medio de la combinacin Microsoft Excel + VBA (Visual Basic for Applications - Macros), pueden lograr TODO lo que necesitan realizar a nivel de automatizacin, optimizacin del tiempo y el trabajo diario, generacin de reportes, compartir y obtener informacin. Lograrn tener la conviccin de que TODO se puede hacer por medio de MS Excel + VBA. Las restricciones que afecten al usuario estarn acotadas slo por la profundidad del conocimiento del lenguaje VBA, el nivel de dominio de las funcionalidades de Excel y su propia imaginacin. Este curso est dirigido a ejecutivos, profesionales, tcnicos, administrativos y oficinistas en general, no a programadores. No se trata de una suerte de discriminacin. Lo que sucede es que el enfoque es diferente, nada ms. El curso necesariamente debe efectuarse en las instalaciones del Cliente (In House), quien deber aportar las posiciones, equipos y el software pertinente. 1.2 Objetivos Especficos del Curso Aumentar la productividad de los usuarios drsticamente. Ahorrar tiempo, que podr destinarse para otras cosas. Maximizar la precisin de los resultados y minimizar los errores. Una vez validado el cdigo de VBA, las tasas de error tendern a cero. Las aplicaciones creadas, podrn ser utilizadas y/o consultadas y/o actualizadas por otros usuarios en forma fcil y segura. Los usuarios podrn crear funciones personalizadas. Los usuarios podrn interactuar con diversas Bases de Datos, con el fin de actualizarlas u obtener datos. Los usuarios aprendern a automatizar sus tareas mas rutinarias y tediosas. Podrn crear Mens didcticos, los que podrn ser utilizados por cualquier persona sin conocimientos de macros. 1. Consideraciones preliminares 1.1 Qu es VBA? (Macros) VBA es un lenguaje de programacin que permite al usuario crear cdigos que generan procesos y tareas automticos dentro de una aplicacin MS como lo es Excel; tambin puede recurrir a funciones pre-programadas como veremos a continuacin. Este lenguaje est dirigido a usuarios, no a programadores. Es muy simple y fcil de aprender. La diferencia con el lenguaje VB (Visual Basic) es precisamente el pblico destino; VBA es para usuarios oficinistas y profesionales; VB es para programadores. La diferencia crtica es que en VBA la mayora de las funciones de anlisis y

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

2010

procesamiento de datos tpicamente necesarias en cualquier organizacin de negocios, se encuentran pre-programadas en Excel. Esto representa un tremendo menor costo en el desarrollo de funciones del tipo financieras, estadsticas, matemticas, filtros, bsqueda, administracin o gestin de bases de datos, creacin de reportes o informes diversos, etc. 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 programacin. Lo nico que hay que hacer es ensamblar las funcionalidades pre-programadas utilizando diversas tcnicas o rutinas las cuales se revelarn y ensear a utilizarse adecuadamente en este curso. 2.2 Quin puede aprender MS Excel + VBA?

Cualquiera podr desarrollar macros simples (VBA) y luego, con tiempo y el inters suficiente, podr llegar a un punto o nivel en el que podr desarrollar rutinas altamente complejas o automatizar tareas muy sofisticadas. No es necesario ser un programador profesional para aprender cmo utilizar VBA con Excel; despus de alrededor de una semana aprendiendo los aspectos mas relevantes de MS Excel asociado a este lenguaje de programacin, el alumno podr crear procesos intuitivos tal como lo hace un programador; podr utilizar VBA para crear bases de datos estructuradas, reportes, filtros avanzados, clasificaciones, exportacin e importacin de datos hacia/desde el ambiente de red, etc. 2.3 Expectativas No es exagerado afirmar que muchos usuarios, con el tiempo, podrn desarrollar sus aplicaciones mucho mejor que las que podra lograr un programador profesional utilizando el lenguaje VB u otro, en su mismo mbito de trabajo. Esto es verdadero por dos razones: El usuario es el que conoce su negocio, conoce el trabajo que realiza, su complejidad y sus respectivas necesidades de automatizacin. Es el dueo o propietario de sus datos. Es el especialista. Los conoce bien, conoce su origen, estructura, como se relacionan e interactan entre ellos y con otros datos o reas, conoce su importancia y utilidad, adems es propietario de las formas en que deben usarse. La segunda razn es que el usuario puede llegar a conocer el lenguaje VBA tan bien, que perfectamente puede lograr desarrollos de alto nivel para satisfacer sus bien conocidas y reconocidas necesidades de automatizacin. 3. Metodologa del Curso de Excel Avanzado con VBA (Macros) 3.1 Revisin ambiente operativo y de hardware

Nuestra metodologa considera en primer lugar evaluar y estandarizar el ambiente de software y hardware bajo el cual se ejecutarn las aplicaciones de MS Excel y VBA. Luego, en segundo lugar, se debe configurar Excel propiamente tal. A veces ser necesario recurrir a una reinstalacin completa de Excel u Office, en su defecto.

Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros)
3.2 Sin rodeos!!!

2010

No se har instruccin sobre aspectos bsicos de MS Excel como la descripcin y uso de los diversos mens que lo conforman. El supuesto del curso respecto de los asistentes es que estos tienen un mnimo de fluidez y experiencia en el uso de la herramienta, suficiente para asimilar las materias mas avanzadas que trataremos desde el inicio de las clases. 3.3 In House

El curso necesariamente debe efectuarse en las instalaciones del Cliente, quien deber aportar las posiciones, equipos y el software pertinente (Excel 2000, 2003, 2007 2010). No somos OTEC. 3.4 Duracin

El curso de Excel Avanzado requiere 36 horas de instruccin. 3.5 Soporte Ex Curso Una vez terminado el curso, los alumnos tendrn un periodo de apoyo presencial de 2 a 3 semanas (a convenir), con el objeto de perfeccionar lo aprendido, aclarar dudas o ayudar en el desarrollo de sus nuevas aplicaciones, modificaciones o mejoras de las existentes.

Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros)
4. Temario (36 horas)

2010

Organizar, buscar y Analizar Datos. Gestin de Bases de Datos Trabajando con subtotales. Filtrar y presentar registros segn diferentes criterios (incluye Filtro normal, avanzado con y sin criterios). Utilizar la funcin de validacin de datos. Aplicar nombres de rango. Definir nombres de listas a rangos extendidos de datos. (ahorra espacio y optimiza la construccin de frmulas) Usar funciones de bsqueda y referencia Funciones avanzadas (Sumaproducto, texto, tiempos, financieras, matemticas, estadsticas, sumar.si, indice, coincidir, eserror, otras) Funciones Matriciales: Tal vez uno de los aspectos mas poderosos de Excel y poco conocido. Cmo generar frmulas personalizadas que permitan discriminar entre mltiples variables o condiciones solicitadas (Suma, Promedios, Contar, Desviacin Estndar, etc.). Se ver como personalizar o modificar su estructura para satisfacer rquerimientos especficos. Incorporacin de rangos dinmicos a las funciones (para calcular solo el rea de datos) Trabajando con Bases y Tablas externas ODBC (SQL, csv, txt, xl*, XML) Inspeccionar una celda o frmula. Crear y trabajar con Tablas Dinmicas; incluyendo incorporacin de frmulas y establecimiento de rangos dinmicos) Solver (resolutor probabilstico). Por ejemplo, asignar vacaciones eficientemente segn preferencias de los trabajadores. Men de Anlisis de datos (estadsticas avanzadas como pronsticos por ejemplo; histogrma, regresin, fourier, etc.) Formatear Datos y Contenido Aplicar formatos condicionales. Agrupar y ordenar objetos. Crear y Modificar grficos. Trabajo en red Proteger hojas de clculo y libros de trabajo. Combinar libros de trabajo. Permitir que ms de un usuario pueda realizar cambios simultneamente. Aceptar y rechazar cambios en libros de trabajo. Administrar Datos y Libros de Trabajo Exportar y guardar los datos del libro en formato XML. Crear asignaciones XML. Importar campos almacenados en tablas y/o consultas. Crear, editar y aplicar plantillas. Crear reas de trabajo.

Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros)
Crear listas. Filtrar informacin en una lista. Ingresar nuevos registros en una lista. Usar consolidacin de datos. Vincular libros de trabajo. Aplicar contrasea de apertura y escritura a un archivo de Excel. Utilizar complementos de anlisis. Texto en Columnas

2010

Automatizacin Acceso al Editor de Visual Basic (VBE) Ventana de proyecto en el VBE Propiedades del VBE Ventana de cdigos Iniciando una Macro en VBE Grabador de Macros (acceso, operacin y condiciones) Modificando el cdigo grabado (Edicin) Probando las macros Eventos en VBA Seguridad y protecin Vocabulario general Administrando cuadros de dilogo de Error Objeto Application Libros Hojas Rangos, celdas, filas y columnas Cuadros de mensajes (msgbox) Automatizacin de filtros y ordenamiento de datos Variables Declaraciones (If, Then, ElseIf, End If, Do, Loop, For, Next, While, With) Funciones Cdigos para trabajar con ODBC, SQL y datos externos en general (importacin y exportacin) Userforms y Propiedades de control Cuadros de texto Botones de Comando (Command) Cuadros de listas desplegables Cuadros de chequeo

Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros)
Definicin de Requerimientos

2010

Se incluye 4 6 horas, correspondientes a materias de Definicin de Requerimientos (Anlisis Estructurado Moderno para determinar el Diagrama de Contexto y Subsistemas de Nivel1) y Modelamiento de Datos bsico. El objetivo de esta seccin, 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 (Diseo Lgico). Sirviendo adicionalmente de documentacin del proceso automatizado, facilitndose as futuras actualizaciones, modificaciones o mejoras del mismo. Una ventaja indirecta de la asimilizacin de esta materia, es que el alumno queda con los fundamentos terico-prcticos para generar documentacin tcnica que facilita la comunicacin con un experto programador. 5. Dificultades del proceso de programacin tradicional

Lo primero que hace un programador cuando es solicitado su servicio para automatizar o desarrollar un programa, es conocer todos los aspectos del trabajo que realiza un usuario, es decir est aprendiendo el trabajo del usuario. Lo que hace, utilizando el propio lenguaje de los programadores profesionales, es realizar el Anlisis Estructurado del fenmeno, el que incluye la Definicin del Requerimiento y el Diseo Lgico con su correspondiente post-etapa de Modelamiento de Datos. Tareas largas y a veces agobiantes que el usuario no logra interpretar adecuadamente, producindose confusiones y dilataciones innecesarias de los plazos. Esto tambin ocurre debido a que el programador no ha sabido interpretar, traducir, modelar o estructurar adecuadamente el trabajo del usuario, lo que es vital para poder efectuar el desarrollo posterior. Nuestra experiencia REAL es que, la mayora de las veces en que hemos iniciado un proyecto de VBA en paralelo con uno de VB u otro lenguaje de programacin, 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. 6. 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, pensando que podrn hacer mas y mejor. La mayora de las veces hemos observado que ha sido un costoso error. Access es una aplicacin de base de datos, mientras que MS Excel permite ANALIZAR datos y generar infinidad de modalidades de reportes utilizando funcionalidades matemticas, estadsticas y financieras de las que Access carece. Si utiliza Access u otro programa de base de datos, igual, siempre tendr que recurrir a Excel para realizar los

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

2010

respectivos anlisis de los tipos indicados precedentemente y generar los pertinentes reportes o informes estructurados, lo cual es muy dificultoso de obtener en Access, siendo la mayor parte de las veces imposible. Nos hemos dado cuenta que esto ha ocurrido cuando los usuarios han tenido un escaso conocimiento del potencial de automatizacin y contenido de funciones de MS Excel, como por ejemplo desconocimiento de la existencia y formas de uso de la poderosa funcin =SUMAPRODUCTO, la que por si sola, bien utilizada y con conocimiento de las variantes que puede adoptar en su estructura, perfectamente puede satisfacer las necesidades de administracin de datos y reporting de un rea financiera y/o contable de envergadura. Para ello las versiones de Excel 2007 y Excel 2010 cuentan con un poco mas de 1.000.000 de lneas de trabajo multiplicada por mas de 250 hojas de trabajo, todo esto en un solo archivo o libro, esta estructura conforma un espacio de trabajo mas que suficiente para satisfacer al mas exigente ambiente de generacin y anlisis de datos masivos. Una de las grandes desventajas de utilizar Access para administrar bases de datos importantes, es que, en vista de la dificultad para aprender esta aplicacin, se produce lo que podramos llamar cuello de botella donde slo unos pocos usuarios o analistas manejan los pormenores de la aplicacin; si la demanda es alta, ser lgico esperar atrasos, demoras y frustracin entre el personal solicitante del servicio. Finalmente el costo, la demora y la dificultad del entrenamiento en Access es muchsimo superior que finalizar un programa avanzado de MS Excel + VBA. 7. Ventajas asociadas al conocimiento avanzado de MS Excel + VBA por parte de los usuarios.

A nuestro juicio hay cuatro puntos de vista. El primero dice relacin con la suficiente disponibilidad de tiempo que el usuario tenga para desarrollar sus aplicaciones o programas. Cuando esto es as, ser el mismo el administrador y mantenedor de su propio sistema, pudiendo, fcil y rpidamente, efectuar las modificaciones y/o actualizaciones que sean necesarias. Esto representa un ahorro de tiempo y dinero extraordinario si se compara esta situacin con la tradicional llamada al programador original, el cual, la mayora de las veces, deber desempolvar la respectiva documentacin, si es que existe, y enrielarse nuevamente en un lapso incierto. El usuario del sistema tradicional deber adems enfrentarse a la disponibilidad de tiempo de atencin del programador de VB u otro lenguaje, disponibilidad que no siempre depender del mismo programador sino que de prioridades definidas en su rea de origen. Como segundo aspecto a sealar como ventaja de que el usuario conozca el lenguaje de VBA y el potencial de funcionamiento de MS Excel, es que si aquel no dispone del tiempo suficiente para invertir en el desarrollo de un nuevo sistema o bien en la modificacin o actualizacin de uno preexistente, siempre existir el asesor externo

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

2010

especialista que podr ayudarlo entendiendo perfectamente el requerimiento, ya que el usuario ahora es tambin un EXPERTO en el tema, interactuando ambos actores fluidamente. Tercero: una vez que el usuario de MS Excel + VBA logre manejar los temas contenidos en este programa de trabajo, ser capaz de aumentar su productividad como jams pens que podra hacerlo. Existen numerosos ejemplos reales que pueden citarse donde los ahorros de tiempo en la obtencin, procesamiento, anlisis y generacin de reportes no son medidos en minutos sino que en HORAS DE AHORRO de tiempo POR DA Y POR USUARIO. No est dems sealar que la precisin del trabajo realizado aumenta drsticamente, las tasas de errores y/o omisiones disminuyen a niveles prcticamente inexistentes. Los datos son controlados para obtener y procesar su TOTALIDAD, EXACTAMENTE y con ACTUALIZACIONES permanentes, generando un valor agregado enorme. Finalmente, como cuarto punto de vista, y tal vez uno de los mas relevantes, est referido a la VERSATILIDAD de la combinacin de Microsoft Excel con Visual Basic for Applications (VBA o Macros).

1.

La versatilidad de Microsoft Excel VBA (Macros)

Microsoft Excel, en combinacin 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. La fortaleza al usar Excel se manifiesta en que todos, en 10

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

2010

diversa medida, sabemos como usarlo; el entorno de Excel provee en forma natural un conjunto de herramientas (matemticas, estadsticas, ingeniera, financieras, lgicas, de gestin de Bases de datos, de edicin de texto, bsquedas, filtros, etc., etc.) que permiten crear sofisticadas interfaces que son desarrolladas y testeadas rpidamente; Excel tiene la CAPACIDAD NICA para comunicarse DIRECTAMENTE con multiplicidad de Bases de Datos o Tablas de Datos, construidas en diversos formatos o lenguajes (SQL, .txt, .csv, .xl*, XML, Visual Basic, .NET, lenguaje C, etc., etc.) y simultneamente tiene la funcionalidad adicional de utilizar la planilla de clculo con todo su potencial de creacin de frmulas, cuyo nico lmite es la creatividad de cada usuario. Esto es as ya que todas las funcionalidades indicadas estn PRE-CONSTRUIDAS; de esta forma los costos y el tiempo de desarrollo de cualquier aplicacin son sustancialmente reducidos.

11

Curso Avanzado Microsoft Excel con Visual Basic for Applications (VBA o Macros)
9. Ejemplos de Sistemas desarrollados bajo Excel VBA

2010

1. Sistema Control Actividades y Gastos capacitacin. Subgerencia Sistemas Empresa Industrial 2. Sistema de Cubicacin Empresa constructora 3. Sistema de Facturacin Empresa de ridos 4. Sistema de Contabilidad 5. Sistema Control y Gestin Financiera Empresa productos del mar congelados 6. Informe de Rentabilidad de Empresa con 7.000 trabajadores 7. Informe de Ausentismo (justificados e injustificados) 8. Sistema de Control de Licencias Mdicas 9. Sistema de Registro y clculo de Comisiones e incentivos de Supervisores 10. Sistema Control Marcaciones Biomtrico (huella dactilar control acceso/salida) 11. BDD Personal (histrico y vigente) 12. Sistema de Informe Gestin de Direccin de RR.HH. 13. Organigrama Automtico en tiempo real e histrico (ante permanentes cambios en la estructura organizacional) 14. Sistema de Control y Registro de Archivos de Direccin de RR.HH. (30.000 trabajadores; vigentes y no vigentes). 15. Apoyo a Analistas de Empresa de Servicios de Telecomunicaciones en automatizacin de tareas especficas (finiquitos, remuneraciones, Isapres, calidad, Control de Produccin, Control de Gestin, operaciones, finanzas, etc.) 16. Sistema de pronstico regresin lineal 17. Sistema de pronstico mtodo Holt Winter (series temporales multiplicativas) 18. Sistema de pronstico de Series Temporales desestacionalizadas 19. Sistema de pronstico con anlisis y suavizacin de curvas (mejor prctica mundial segn norma de calidad COPC) 20. Sistema de pronstico de Media Ponderada Mvil 21. Sistema de pronstico con mtodo cclico irregular 22. Sistema de pronstico estacionalidad semanal 23. Sistema de clculo de AHT (Average Handle Time o TMO) 24. Clculo de reductores por intervalo de 30 minutos y da de semana (Ausentismo, atrasos y tiempos improductivos) (mejor prctica mundial segn norma de calidad COPC) 25. Sistema de Asignacin de horarios de descansos y lunch a una Plataforma de Teleservicio, en armona con la demanda de transacciones.

12

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

2010

26. Sistema de control o retroalimentacin del pronstico: Escala Mvil 27. Sistema de clculo de dotaciones de personal requeridas en Call Center, por intervalos de 30 minutos. Bajo teoras Erlang-B y/o Erlang-C. 28. Programacin del personal semi automtica (ajustar nombres y preferencias de Teleoperadores con los Horarios correspondientes, para coincidir con la oferta de demanda de transacciones o llamadas) 29. Adherencia o Adhesin por Supervisor, Plataforma, Semana, Da, Intervalo, etc. 30. Sistema de Compatibilizacin de Curvas inter Plataformas o Servicios. 31. Retroclculo. Para evaluar estadsticamente comportamiento de la planificacipon vs. Lo real. 32. Calcular llamadas recibidas. En base slo a AHT (TMO) y cantidad de Teleoperadores por intervalo, se determinan la cantidad potencial de llamadas que podran resolver ante determinados niveles de calidad definidos como objetivo. 33. Sistema de clculo de Permanencia. Es decir que proporcin del tiempo de trabajo de un teleoperador coincidi con el tiempo de trabajo de un Supervisor en especial. 34. Clculo de dotaciones ptimas. Entrega cantidad de teleoperadores, su tipo de contrato (45, 36, 30, 20 hrs. Semanales) y los horarios de trabajo por da de semana. 35. Etc. 36. Etc.

13

You might also like