Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sesión 6:
Introducción a Macros y VBA
Introducción.
Excel es una herramienta muy potente, nos ofrece una
gran cantidad de funciones preestablecidas de todo tipo
(Estadísticas, Financieras, de Ingeniería, etc.) pero algo
que realmente impacta es la facilidad para crear
funciones a nuestra medida, imagínese que ninguna de
todas las funciones preestablecidas de Excel le da lo que
busca, entonces debemos crearla, es el objetivo del
presente curso.
Definición de VBA.
Las iniciales VBA proviene del inglés Visual Basic for
Applications, el cual podemos entenderlo como «aplicaciones
para Visual Basic», es un entorno de desarrollo que se
encuentra dentro de cualquier aplicación de Office.
Asimismo, VBA funciona mediante la ejecución de macros,
estos permiten realizar en un objeto de Excel un conjunto de
instrucciones llamado código, es decir, podrían estar sobre una
hoja, libro, celda, etc.
Comparando VB y VBA
Muchas de las tareas que realiza en Excel, como introducir los datos de ventas de
un día determinado o agregar una fórmula a una hoja de cálculo (hoja de cálculo:
documento principal que se utiliza en Excel para almacenar y trabajar con datos.
Por ejemplo, puede que desee resaltar las celdas más importantes de una hoja de
cálculo cada vez que presente un informe a sus compañeros.
En vez de tener que ejecutar una larga serie de pasos manualmente, puede crear
una macro, o serie de acciones grabadas, que realice estos pasos
automáticamente.
Si conoce el lenguaje de programación Microsoft Visual Basic® para
Aplicaciones (VBA), puede escribir una macro personalizada nueva. En cualquier
caso, una vez creada la macro podrá ejecutarla, editarla o eliminarla según le
convenga.
Macros y su relación con VBA (continuación)
Macros: Son un conjunto de instrucciones de código escritos en un lenguaje de
programación denominado VBA (Visual Basic para Aplicaciones) y que sirven para
automatizar procesos y realizar una determinada tarea.
• La macros permiten expandir las posibilidades de un programa. Refiriéndonos a
Excel, supongamos que realizamos frecuentemente la acción de seleccionar un
rango para aplicarle negrita, cambio de fuente y centrado. En lugar de hacer
estas acciones manualmente, se puede elaborar una macro e invocarla para que
ejecute los tres procesos automáticamente.
• Los programas que conforman “Ms Office” ya traen incorporado el editor de
VBA, que es donde programaremos y escribiremos las instrucciones y el código
necesario para la ejecución de estos procesos automatizados.
La ficha Programador/Desarrollador de Excel
Pasos para activar la ficha Desarrollador:
1. Clic derecho sobre cualquier pestaña en Excel.
2. Clic en Personalizar la cinta de opciones…
3. Se visualizará la ventana:
Opciones de Excel.
4. Activar la pestaña Programador
Grabar una aplicación VBA
4
Clic en Guardar.
Utilizar la grabadora de macros
1 Desde el menú
1.
1 Botón Visual Basic dentro de la ficha del PROGRAMADOR
2 Botón Modificar dentro del cuadro
de diálogo MACRO
3 ALT + F11
Descripción del Editor VBA (VBE) 1
4
Descripción del Editor VBA (VBE)
VENTANA DE CÓDIGO
En esta se trabaja directamente con el código de programación
VENTANA INMEDIATO
Podemos ejecutar código VBA, si escribimos directamente la
instrucción y presionamos Enter. Nos permite probar el
funcionamiento de instrucciones, sin tener que ejecutar una macro
en su totalidad.
VENTANA INSPECCIÓN
Podemos seguir el funcionamiento de ciertas instrucciones de
nuestros procedimientos si les agregamos una “inspección”. Estas
expresiones de inspección se actualizan en forma automática cuando
se entra en modo de “interrupción” (suspensión temporal de la
ejecución de la macro).
Las ventanas (continuación)
• VENTANA LOCALES
Permiten ver los valores que poseen las “variables”
definidas dentro de una macro durante su ejecución,
ejecutando en modo paso a paso (F8).
• VENTANA PROPIEDADES
Visualiza las diferentes propiedades de cada uno de los
objetos de VBA que seleccionemos.
Modelo de objetos de Excel.
OBJETOS, PROPIEDADES Y MÉTODOS
Los objetos en Excel (VBA) son cosas. Una
celda es un objeto, una hoja es un objeto, un
libro es un objeto y de esta manera existen
muchos más objetos en Excel. A esto lo
conocemos como el modelo de objetos de
Excel.
Lectura sugerida:
https://docs.microsoft.com/es-es/office/vba/api/overview/excel/object-model
Modelo de objetos de Excel.
OBJETOS, PROPIEDADES Y MÉTODOS
Repasemos a continuación todos estos conceptos pero ahora desde el punto de vista de
algunos de los objetos que nos encontraremos en Excel como WorkSheet (Objeto hoja de
cálculo) o Range (Objeto casilla o rango de casillas), o Cell (Objeto celda), o Workbook (Objeto
Libro).
Un objeto Range está definido por una clase donde se definen sus propiedades, recordemos
que una propiedad es una característica, modificable o no, de un objeto. Entre las propiedades
de un objeto Range están Value , que contiene el valor de la casilla , Column y Row que
contienen respectivamente la fila y la columna de la casilla, Font que contiene la fuente de los
caracteres que muestra la casilla, etc.
Range, como objeto, también tiene métodos, recordemos que los métodos sirven llevar a cabo
una acción sobre un objeto. Por ejemplo el método Activate, hace activa una celda
determinada, Clear, borra el contenido de una celda o rango de celdas, Copy, copia el
contenido de la celda o rango de celdas en el portapapeles,...
En el cuadro siguiente puede entender mejor los conceptos mencionados, el objetivo es realizar
o ejecutar métodos a las propiedades de los Objetos que están dentro del Excel, para lo cual
emplearemos el VBA.
Modelo de objetos de Excel.
OBJETOS, PROPIEDADES Y MÉTODOS
OBJETOS PROPIEDADES METODOS
Ejercicio 1:
Actualización automática de la tabla dinámica con macros.
Application.Workbooks(1).Worksheets(1).Range("A1").Value = "Hola"