El documento explica las razones para usar VBA en Excel 2010, incluyendo automatizar tareas repetitivas, crear nuevas funcionalidades, y realizar tareas que integren Excel con otras aplicaciones. VBA funciona mediante macros que ejecutan instrucciones escritas en Visual Basic. Aprender VBA permite a los usuarios realizar tareas en Excel que antes creían imposibles.
1. ¿Por qué usar VBA en Excel 2010?
Microsoft Excel 2010 es una herramienta muy eficaz que se puede usar para manipular,
analizar y presentar datos. A veces, no obstante, a pesar del amplio conjunto de
características que ofrece la interfaz de usuario (UI) estándar de Excel, es posible que se
desee encontrar una manera más fácil de realizar una tarea repetitiva y común, o de
realizar alguna tarea no incluida en la interfaz de usuario. Afortunadamente, las
aplicaciones de Office, como Excel, tienen Visual Basic para Aplicaciones (VBA), un
lenguaje de programación que brinda la posibilidad de ampliar dichas aplicaciones.
VBA funciona mediante la ejecución de macros, procedimientos paso a paso escritos en
Visual Basic. Aprender a programar podría parecer intimidante, pero con algo de paciencia
y algunos ejemplos, como los que se incluyen en este artículo, muchos usuarios
encuentran que conocer aunque sea una pequeña parte del código de VBA facilita su
trabajo y les brinda la posibilidad de ejecutar tareas en Office que antes creían imposibles
de realizar. Si se adquieren algunos conocimientos sobre VBA, resultará mucho más
sencillo seguir aprendiendo, por lo que aquí las posibilidades son ilimitadas.
Sin duda, la razón más frecuente por la cual se usa VBA en Excel es para automatizar
tareas repetitivas. Por ejemplo, suponga que tiene docenas de libros con docenas de
hojas de cálculo y necesita realizar cambios en cada uno de ellos. Los cambios podrían ser
tan simples como aplicar formato nuevo a algún rango fijo de celdas, o bien tan
complejos como buscar algunas características estadísticas de los datos en cada hoja,
elegir el mejor tipo de gráfico para mostrar datos con esas características y, a
continuación, crear y dar formato al gráfico en consecuencia.
En ambos casos, es probable que prefiera no realizar estas tareas de forma manual, al
menos no más de unas pocas veces. En su lugar, las tareas pueden automatizarse usando
VBA para escribir las instrucciones explícitas que Excel debe seguir.
No obstante, VBA no es útil solo para tareas repetitivas. También puede usar VBA para
crear nuevas funcionalidades en Excel (por ejemplo, puede desarrollar nuevos algoritmos
para analizar datos y, a continuación, usar las funcionalidades de gráficos de Excel para
mostrar los resultados) y realizar tareas que integren Excel con otras aplicaciones de Office,
como Microsoft Access 2010. De hecho, de todas las aplicaciones de Office, Excel es la
más usada como algo similar a una plataforma de desarrollo general. Además de todas las
tareas obvias que implican listas y contabilidad, los programadores usan Excel en una
amplia variedad de tareas, desde visualización de datos hasta prototipos de software.
A pesar de todas las buenas razones para usar VBA en Excel 2010, es importante recordar
que la mejor solución de un problema posiblemente no se relacione con VBA en absoluto.
Excel tiene una gran variedad de características sin VBA y es posible que hasta un usuario
avanzado no esté familiarizado con todas ellas. Antes de acudir a una solución de VBA,
realice una búsqueda exhaustiva en Ayuda y recursos en línea para asegurarse de que no
existe una manera más simple.
2. Programación de VBA 101
Uso de código para hacer que las aplicaciones realicen las
tareas
Quizá crea que escribir código es algo misterioso o complicado, pero sus principios
básicos usan la lógica diaria y son bastante accesibles. Las aplicaciones de Office 2010
están creadas de tal modo que exponen lo que se denomina objetos. Estos objetos reciben
instrucciones. Para interactuar con las aplicaciones, se envían instrucciones a varios
objetos de la aplicación. Los objetos, si bien son variados y flexibles, tienen sus límites.
Solo pueden hacer aquello para lo que fueron diseñados y solo harán lo que se les
indique que hagan.
Objetos
Los objetos de programación se relacionan entre sí sistemáticamente en una jerarquía
denominada modelo de objetos de la aplicación. El modelo de objetos básicamente refleja
lo que se ve en la interfaz de usuario. Por ejemplo, el modelo de objetos de Excel contiene
los objetos Application, Workbook, Sheet y Chart, entre muchos otros. El modelo de
objetos constituye el mapa conceptual de la aplicación y sus funcionalidades.
Propiedades y métodos
Es posible manipular objetos al establecer sus Propiedades y llamar a sus métodos. Si se
establece una propiedad, se producen algunos cambios en la calidad del objeto. Si se
llama a un método, se logra que el objeto realice una determinada acción. Por ejemplo, el
objeto Workbook tiene un método Close que cierra el libro y una
propiedad ActiveSheet que representa la hoja activa del libro.
Colecciones
Varios objetos vienen en las versiones singular y plural; por ejemplo, libro y libros, hoja de
cálculo y hojas de cálculo. Las versiones en plural se denominan colecciones. Los objetos
de una colección se usan para realizar una acción en varios elementos de esa colección.
Más adelante, en este artículo, se explicará cómo usar la colección Worksheets para
cambiar el nombre de cada hoja de cálculo de un libro.
Macros y el Editor de Visual Basic
Ahora que ya conoce en parte cómo Microsoft Excel 2010 expone su modelo de objetos,
puede intentar llamar a los métodos de un objeto y establecer las propiedades del objeto.
Para hacerlo, debe escribir el código en un lugar y de una manera que Office pueda
comprender; generalmente, mediante el uso del Editor de Visual Basic. Aunque se instala
de forma predeterminada, muchos usuarios ni siquiera saben que está disponible hasta
que no se habilita en la cinta de opciones.
3. Ficha Programador
Todas las aplicaciones de Office 2010 usan la cinta de opciones. La ficha Programador es
una de las fichas incluidas en la cinta de opciones, donde se puede tener acceso al Editor
de Visual Basic y a otras herramientas de programador. Debido a que Office 2010 no
muestra la ficha Programador de manera predeterminada, debe habilitarla mediante el
siguiente procedimiento:
Para habilitar la ficha Programador
1. En la ficha Archivo, elija Opciones para abrir el cuadro de diálogo Opciones de Excel.
2. Haga clic en Personalizar cinta de opciones en el lado izquierdo del cuadro de diálogo.
3. En Comandos disponibles en:, en el lado izquierdo del cuadro de diálogo,
seleccione Comandos más utilizados.
4. En Personalice esta cinta de opciones, en el lado derecho del cuadro de diálogo,
seleccione Fichas principales y, a continuación, active la casilla de
verificación Programador.
5. Haga clic en Aceptar.
Después de que Excel muestre la ficha Programador, observe la ubicación de los
botones Visual Basic, Macros y Seguridad de macros en la ficha.
Figura 1. Ficha Programador en Excel 2010
Problemas de seguridad
Haga clic en el botón de Seguridad de macros para especificar qué macros pueden
ejecutarse y en qué condiciones. Aunque el código de macros de sistemas no confiables
puede dañar gravemente el equipo, las condiciones de seguridad que impiden ejecutar
macros útiles pueden disminuir en gran medida la productividad. La seguridad de macros
es un tema complejo que se debe estudiar y comprender, si se trabaja con macros de
Excel.
Para el propósito de este artículo, tenga en cuenta que si la barra Advertencia de
seguridad: las macros se han deshabilitado aparece entre la cinta de opciones y el libro,
cuando abre un libro que contiene una macro, puede hacer clic en el botón Habilitar
contenido para habilitar las macros.
4. Además, como medida de seguridad, no puede guardar una macro en el formato de
archivo predeterminado de Excel (.xlsx); debe guardar la macro en un archivo con
extensión especial (.xlsm).
Editor de Visual Basic
El siguiente procedimiento muestra cómo crear un nuevo libro en blanco donde se
almacenarán las macros. A continuación, podrá guardar el libro con el formato .xlsm.
Para crear un nuevo libro en blanco
1. Haga clic en el botón Macros, de la ficha Programador.
2. En el cuadro de diálogo Macro que aparece, escriba Hello en Nombre de macro.
3. Haga clic en el botón Crear para abrir el Editor de Visual Basic que incluirá los esquemas
de una nueva macro ya escritos.
VBA es un lenguaje de programación completo y, en consecuencia, tiene un entorno de
programación completo. En este artículo solo se estudian las herramientas que se usan
para empezar a trabajar en programación sin incluir la mayoría de las herramientas del
Editor de Visual Basic. Realizada esta salvedad, cierre la ventana Propiedades en el lado
izquierdo del Editor de Visual Basic e ignore las dos listas desplegables que aparecen
sobre el código.
Figura 2. Editor de Visual Basic
El Editor de Visual Basic contiene el siguiente código.
VB
Sub Hello()
End Sub
Sub se refiere a Subrutinaque, por el momento, se puede definir como "macro". Al
ejecutar la macro Hello se ejecuta cualquier código que se encuentre entre Sub
Hello() y End Sub.
Ahora, edite la macro para que tenga un aspecto similar al siguiente código.
VB
Sub Hello()
MsgBox ("Hello, world!")
5. End Sub
Vuelva a la ficha Programador en Excel y haga clic de nuevo en el botón Macros.
Seleccione la macro Hello en la lista que aparece y, a continuación, haga clic
en Ejecutar para mostrar un cuadro de mensaje pequeño que contiene el texto "Hello,
world!".
Acaba de crear e implementar correctamente código de VBA personalizado en Excel. Haga
clic en Aceptar en el cuadro de mensaje para cerrarlo y terminar de ejecutar la macro.
Si no aparece el cuadro de mensaje, compruebe la configuración de seguridad de la
macro y reinicie Excel.
Accesibilidad de las macros
También puede tener acceso al cuadro de diálogo Macros desde la ficha Ver, pero si usa
una macro con frecuencia, le resultará más cómodo tener acceso a ella mediante un
método abreviado de teclado o un botón de la Barra de herramientas de acceso rápido.
Para crear un botón para la macro Hello en la Barra de herramientas de acceso rápido,
use el siguiente procedimiento.
El siguiente procedimiento describe cómo crear un botón para una macro en la Barra de
herramientas de acceso rápido:
Para crear un botón para una macro en la Barra de
herramientas de acceso rápido
1. Haga clic en la pestaña Archivo.
2. Haga clic en Opciones para abrir el cuadro de diálogo Opciones de Excel y, a
continuación, haga clic en Barra de herramientas de acceso rápido.
3. En la lista que se encuentra en Comandos disponibles en:, elija Macros. Busque en la
lista el texto que es similar a Book1! Hello y selecciónelo.
4. Haga clic en el botón Agregar >> para agregar la macro a la lista en el lado derecho y, a
continuación, haga clic en el botón Modificar…, a fin de seleccionar una imagen del
botón para asociar a la macro.
5. Haga clic en Aceptar. El nuevo botón deberá mostrarse en la Barra de herramientas de
acceso rápido, encima de la ficha Archivo.