Guía No Oficial de Visual Basic for Applications
Visual Basic for Applications (VBA) es un lenguaje de programación integrado en Microsoft Office que permite a los usuarios automatizar tareas repetitivas y realizar complejas tareas de forma rápida y sencilla. Esta guía no oficial proporcionará una introducción a la programación VBA, así como una lista de recursos útiles para ayudarlo a mejorar sus habilidades de programación.
¿Qué es Visual Basic for Applications (VBA)?
VBA es un lenguaje de programación utilizado para automatizar tareas en Microsoft Office, así como para crear herramientas personalizadas para su uso. Los usuarios pueden crear macros para automatizar tareas comunes, como la creación de informes, la gestión de información o la realización de cálculos.
Presentación del tutorial
Este tutorial ha sido diseñado para avanzar progresivamente desde los temas básicos hasta los avanzados.
Nos introduce en la materia de estudio para ayudarnos a abordar aspectos más avanzados a través de referencias externas: Webs, foros, videotutoriales o ebooks.
Este tutorial está dividido en capítulos (Índice), a los que que se puede acceder de manera directa (si ya se dominan los aspectos básicos).
1. Introducción a VBA
VBA (Visual Basic para Aplicaciones) es un lenguaje de programación desarrollado por Microsoft para permitir a los programadores crear aplicaciones personalizadas dentro de Microsoft Office, como por ejemplo Excel.
Se utiliza para automatizar tareas repetitivas dentro de una aplicación de Office, así como para crear aplicaciones personalizadas que no están incluidas en la aplicación por defecto.
VBA también se puede usar para crear macros que realizan tareas específicas muy rápidamente y de manera eficiente.
VBA es el acrónimo de «Visual Basic for Applications». Es el lenguaje que se ha utilizado desde las primeras versiones de Office para realizar macros. Está basado en Ms Visual Basic.
Seguramente si eres usuario/a avanzado/a de Ms Office decidas seguir perfeccionando tus plantillas (planillas) y para ello hayas pensado a realizar tus primeros pasos en programación.
Puedes comenzar desde cero o utilizar los asistentes para generar código automático y personalizarlo a mano. Todo dependerá de tus conocimientos iniciales sobre programación.
¿Cómo puedo empezar a programar en VBA?
Para empezar a programar en VBA, primero deberá abrir una aplicación de Microsoft Office, como Excel o Word, y hacer clic en la pestaña «Herramientas de desarrollador» para abrir el Editor de Visual Basic para Aplicaciones (VBE). Esto le permitirá acceder a todas las herramientas necesarias para programar en VBA.
Una vez que haya abierto el VBE, puede escribir código en el editor de Visual Basic y ejecutarlo para ver los resultados. También puede crear macros para automatizar tareas y crear herramientas personalizadas para su uso.
¿Qué recursos están disponibles para ayudarme a aprender VBA?
Existen una variedad de recursos disponibles en línea para ayudar a los usuarios a aprender VBA. Estos recursos incluyen tutoriales en línea, libros electrónicos, vídeos, foros de discusión y mucho más. Estos recursos pueden ayudarlo a aprender los fundamentos de la programación VBA y a mejorar sus habilidades de programación.
2. Aplicaciones en VBA
Ejemplos de aplicación de la rutinas VBA son:
- Creación de botones, y automatización de rutinas.
- Crear enlaces a páginas webs: VBA permite, por ejemplo, capturar datos de bases de datos alojadas en Internet para su posterior tratamiento.
- Crear una macro para automatizar la creación de informes. Esta macro podría extraer datos de diferentes hojas de cálculo, calcular el total de cada columna y crear un informe detallado con los resultados.
- Crear una macro para automatizar la importación de datos. Esta macro podría recopilar datos de diferentes fuentes, como archivos de Excel, bases de datos y formatos de texto, y luego importar los datos en una hoja de cálculo específica.
- Crear una macro para realizar cálculos complicados. Esta macro podría realizar cálculos avanzados como el cálculo de la tasa de interés, el cálculo de la devolución de impuestos, el cálculo de la tasa de descuento y otros.
- Crear una macro para automatizar la búsqueda de información. Esta macro podría buscar información específica en una base de datos y luego devolver los resultados a una hoja de cálculo.
- Crear una macro para hacer copias de seguridad automáticas. Esta macro podría hacer una copia de seguridad de una hoja de cálculo cada vez que se modifica el documento, asegurando así que los usuarios siempre tengan acceso a una versión previa del documento.
3. Selección de guías y tutoriales sobre programación de VBA para Ms Office.
- Breve tutorial de introducción a la programación de Ms Office (C# y Visual Basic). Contiene una descripción del lenguaje de VBA, ejemplos y aplicaciones demo. Enlace a la web oficial msdn.microsoft.com.
- Introducción a las herramientas para desarrolladores de Microsoft Office en Visual Studio 2010 en victorpaucar.wordpress.com de Víctor Paucar.
-
Tutoriales a nivel de aplicación y de documento de Microsoft con ejemplos de desarrollo de Ms Office y Desarrollo de Office en Ms Visual Studio.
- Excel VBA para principiantes. Videotutorial dónde se muestran los conceptos fundamentales de programación VBA en Excel de jfksoft.
- PDF: Introducción al Visual Basic de la Universidad Politécnica de Valencia. Manual básico para empezar a trabajar con macros de Visual Basic para Excel.
3.1 Recopilación de guías y tutoriales de Ms Excel VBA en Internet.
Para sentar las bases y comenzar a crear tu primer código lo mejor es el estudio pausado y un buen manual, como los que te presentamos a continuación:
- Blog ExceleInfo en blogs.itpro.es y ficheros de ejemplo.
- JLD Excel en Castellano. Nos enseña como usar Ms Excel eficientemente con sugerencias y ayudas. Ejemplos de funciones y fórmulas, gráficos y automatización de hojas de cálculo con código VBA.
Manual Visual Basic en cesotolliccu.mdl2.com es un PDF de J.Pedro García y Gonçal Bravo para la versión de Excel 2003, pero con muchos procedimientos aún válidos para las últimas versiones.
Aprenda Visual Basic 6.0 como si estuviera en primero. Es un PDF de Javier García de Jalón, José Ignacio Rodríguez, Alfonso Brazález. Escuela Superior de Ingenieros Industriales de San Sebastián. Universidad de Navarra.
Incluye una descripción inicial del entorno de programación Visual Basic 6.0, Lenguaje BASIC con Variables, operadores, Sentencias de control, algoritmos, Funciones y Procedimientos y arrays. Eventos, Propiedades y Controles.
Manejo de gráficos y Archivos y Entrada/Salida de Datos. Muy recomendado para aquellos que se inician como programadores.
3.2 Videotutoriales VBA
Los vídeos en general suponen para muchos una manera más sencilla de introducirse en el entorno de desarrollo VBA:
- Tutorial Visual Basic .NET – Parte 1 (Curso VB.NET 2010 & 2012) de codigofacilito.
4. Descargas y actualizaciones
- Descarga Ms Visual Studio 2010 Tools para Office Runtime, necesaria para ejecutar soluciones basadas en Microsoft Office compiladas con Microsoft Visual Studio 2010 y 2012. Enlace oficial donde podrás ampliar información en microsoft.com.
- Descarga de la documentación oficial de Office 2013 VBA para el desarrollo de aplicaciones cliente para Ms Office.
5. Bibliografía recomendada.
Más contenidos relacionados con programación VBA:
Pack VBA Access 2013. Domine la programación en Access. 2 Libros por de Michèle Amelot; Thierry Marian; Henri Laugié.
«Estos dos libros ofrecen al lector una amplia información sobre la programación con VBA Access 2013 y más de 25 horas de prácticas con ejercicios (y correcciones).»
Macros en Excel 2013. Programación de aplicaciones con VBA: Automatice sus planillas y optimice el trabajo de Viviana Zanini.
«En este libro aprenderá:
- Automatización: cuáles son los aspectos básicos del lenguaje VBA para Excel y cómo funciona su modelo de objetos. Preparación del entorno de trabajo.
- Editor de VBA: características del entorno de programación. Ventanas, barras de herramientas principales y su funcionamiento en general.
- Sentencias: cómo escribir los procedimientos para introducir datos y visualizar resultados. Aspectos para tener en cuenta al exportar o importar módulos.
- Datos y funciones: clases de datos utilizados por el lenguaje VBA, sus variables y operadores. Trabajo con funciones predefinidas básicas (matemáticas, de cadena, de comprobación, entre otras).
- Estructuras de programación: control del flujo de ejecución del programa, estructuras condicionales y repetición de operaciones.
- Objetos y formularios: cuáles son los principales objetos de Excel, sus métodos y propiedades. Cómo crear y programar formularios.»
Aprender a programar con Excel VBA con 100 ejercicios práctico de MEDIAactive. Tienda Kindle. «Gracias a este manual a color adquirirá los conocimientos básicos sobre Visual Basic para Aplicaciones, en lo que a programación para Excel se refiere.
A lo largo de los 200 ejercicios prácticos: Grabará y utilizará macros desde Excel y creará botones de acceso directo a éstas en sus libros, en sus barras de herramientas y en la cinta de opciones.
Editará desde Visual Basic para Aplicaciones los códigos de las macros grabadas y escribirá códigos íntegramente desde el editor. Conocerá el ABC del lenguaje de programación de Visual Basic y se familiarizará con los principales objetos, propiedades, métodos y eventos utilizados para crear códigos para Excel.
Practicará con la sintaxis de las principales palabras clave usadas en la programación para Excel y comprobará su ejecución y efecto.
Creará macros que ejecutarán diversidad de modificaciones de contenido y formato en sus hojas de cálculo, convertirá datos en gráficos de forma automática y modificará los ya creados con procedimientos VBA.
Así mismo, aprenderá a crear sus propias funciones, cuadros de diálogo y formularios personalizados que ejecutarán toda clase de acciones.»
Excel 2010. Programación con VBA de John Walkenbach.
«Excel 2010 es una hoja de cálculo extremadamente completa, con numerosas características desconocidas para el usuario común; como Visual Basic para Aplicaciones (VBA), el lenguaje de programación integrado en Excel y en otras aplicaciones de Microsoft Office. Excel 2010.
Programación con VBA nos presenta de forma didáctica una completa información que incluye desde la grabación de macros básicas hasta la creación de sofisticadas aplicaciones y utilidades orientadas a los usuarios. Si ya es usuario avanzado de Excel, este libro le convertirá en un auténtico experto.
Descubrirá una nueva perspectiva de Excel y conocerá todos los pasos necesarios para desarrollar nuevas aplicaciones de hoja de cálculo. También aprenderá, entre otras cosas, a desarrollar subrutinas y funciones, y a utilizar técnicas de programación avanzadas.»
VBA Excel 2010. Programación en Excel: Macros y lenguaje VBA de Michele Amelot.
Programación de objetos. Cuadros de diálogo y formularios. Mejoras de la interfaz. Eventos. Depuración de errores. Comunicación con las aplicaciones de Ms Office. Internet. Código de una miniaplicación.
Excel 2013 VBA and Macros (Mrexcel Library) de Bill Jelen.
«Use Excel (R) 2013 VBA y Macros para automatizar virtualmente cualquier tarea rutinaria, y ahórrese horas, días, incluso semanas. ¡Aprende a hacer que Excel haga cosas que creías que eran simplemente imposibles!
Descubrirá técnicas de macro que no encontrará en ningún otro lugar y aprenderá a crear informes automatizados que son increíblemente potentes y útiles.
Bill Jelen y Tracy Syrstad muestran cómo visualizar información de manera instantánea, para que usted y sus colegas puedan entenderla y actuar sobre ella … cómo capturar datos desde cualquier lugar y usarlos en cualquier lugar … cómo automatizar las funciones más valiosas de Excel 2013.
Dominar macros avanzadas de Excel nunca ha sido tan fácil. Encontrará instrucciones sencillas, paso a paso, ejemplos del mundo real y estudios de casos, y 50 libros llenos de ejemplos adicionales, macros y soluciones, directamente de MrExcel.
Comience rápidamente con el desarrollo de macros de Excel 2013 Escriba macros que usan mejoras de Excel 2013, incluidas las líneas de tiempo y los últimos modelos de tablas dinámicas.
Trabaje de manera eficiente con rangos, celdas y fórmulas de estilo R1C1. Cree aplicaciones súper rápidas con matrices. Escriba el código VBA de Excel 2013 que funcione. en versiones anteriores de Excel.
Cree cuadros de diálogo personalizados para recopilar información de sus usuarios Use el manejo de errores para hacer que sus macros sean más resistentes.
Use consultas web y nuevas funciones de servicio web para integrar datos de cualquier lugar. Técnicas avanzadas maestras como clases, colecciones y funciones personalizadas. aplicaciones sofisticadas de análisis de negocios y minería de datos.
Lea y escriba en las bases de datos de Access y SQL Server Controle otros programas de Office, e incluso controle el propio Windows.
Seleccionados por Bill Jelen, Microsoft Excel MVP y autor del sitio web de soluciones de Excel MrExcel.com, estos libros aumentarán drásticamente su productividad, ahorrando 50 horas al año o más.
Presente estrategias creativas para resolver problemas del mundo real. para obtener excelentes resultados, sin importar la cantidad de datos que tenga. Ayude a evitar errores críticos que incluso los usuarios experimentados cometen.»
VBA Excel 2013. Cree Aplicaciones Profesionales. Ejercicios y Correcciones de Claude Duigou.
«Este libro está destinado a los usuarios de Excel 2013 que se quiera iniciar en el lenguaje VBA o profundizar en su conocimiento en este tema. Aunque se recomienda un conocimiento básico en programación, no es imprescindible.
La primera parte del libro está dedicada a los fundamentos y ofrece una introducción a la programación en VBA en sus aplicaciones a los objetos Excel.
Con más de 200 ejercicios cuya dificultad va en aumento, basados en ejemplos concretos, el libro trata los siguientes temas:
La automatización de las tareas repetitivas, la ayuda de funciones personalizadas, el control de los principales objetos de Excel (libro, hoja, celda, gráfico), la colaboración y el intercambio de datos con las aplicaciones de la suite Office, la implementación del formato XML, la publicación de documentos en la Web, el análisis de datos y la gestión multimedia.
Al término de estas prácticas, podrá adaptar Excel a sus necesidades y dispondrá de todos los elementos que le permitirán desarrollar una aplicación profesional con VBA Excel 2013.»
Excel VBA: for Non-Programmers (Programming in Everyday Language) (English Edition) de Maayan Poleg. Tienda Kindle.
«Mientras lee el libro y usa los archivos de práctica, sabrá que:
• Añadir el toque de desarrollador
• Cambiar la seguridad de Excel, incluyendo ubicaciones de confianza
• Introduzca el VBE (Editor de Visual Basic)
• Cambiar la estructura VBE
• Grabar una macro absoluta
• Grabar una macro relativa
• Mejora tu macro grabada
• Aplicar a rangos (celdas, rangos, columnas, filas, hojas, desplazamiento)
• Usar variables
• Utilice el comando ‘Con’
• Manipular cuerdas.
• Calcular fecha y hora
• Interactuar con el usuario (Msgbox y Inputbox)
• Condiciones de uso (IF)
• Recorrer los datos (hacer bucles, para bucles)
• Crea tus propias funciones (UDF)
• Crear una macro de eventos
• Manejar errores
También aprenderá algunos consejos y trucos geniales, y obtendrá algunos códigos útiles. El libro incluye ejercicios. Puedes descargar los archivos desde:
bit.ly/Excel-VBA.»
Macros y Lenguaje VBA. Aprender a Programar con Excel. 2ª Edición de Frédéric Le Guen.
«El objetivo de este libro es enseñarle, mediante prácticas, cómo diseñar macros, nombre que se le da a los programas realizados en un entorno de Microsoft Office y que permiten reproducir automáticamente y de manera infinita un conjunto de tareas.
No está dirigido a programadores, sino a cualquier usuario habitual de Microsoft Excel (estudiante, comerciante, jefe de proyectos, gestor, asesor, etc.) que desee descubrir la programación con Excel para automatizar las tareas repetitivas.
Aunque nunca haya escrito un programa o ni siquiera haya visto una línea de código en su vida, los ejemplos simples y pedagógicos de este libro le mostrarán, paso a paso, cómo diseñar un programa.
Tras la descripción del entorno de trabajo VBE utilizado para la creación de macros, descubrirá los conceptos básicos de la programación con VBA a través de los objetos, de sus métodos y de sus propiedades.
A continuación, realizará su primer programa gracias a la Grabadora de macros y después abordaremos los elementos fundamentales de la programación VBA que son las variables, las condiciones y los bucles o loops que ejecutan las rutinas, antes de aprender a «depurar» su programa.
La siguiente parte aborda la noción de programación modular y presenta al detalle las principales funciones que puede insertar en un programa (funciones lógicas, matemáticas), la gestión de cadenas de caracteres, la gestión de fechas y horas, las manipulaciones en los libros Excel y en todos los tipos de archivos que tenga en los directorios de su ordenador.
Para acabar, verá cómo optimizar su programa, trabajar con tablas en la memoria, hacer que sus programas sean compatibles con las versiones de 32 y 64 bits, crear cuadros de diálogo personalizados, insertar controles (etiqueta, zona de texto, botón, etc.) y gestionar los errores de ejecución.»
Más info sobre VBA para Excel: