Visual Basic en Excel: ¿qué es y cómo puede mejorar tu productividad?

03/04/2023 | Santander Universidades

¿Sabías que hoy en día hay más de 1.400 millones de usuarios de Microsoft Office en el mundo? ¿Y que el programa de hojas de cálculo Excel es uno de los más valorados de la suite? No en vano, dado que es una de las herramientas de ofimática con mayor penetración en el ámbito empresarial gracias al gran volumen de funcionalidades que ofrece cuando se trabaja con datos.

La variedad y cantidad de opciones de Excel, sin embargo, puede llevar a sus usuarios a invertir cientos de horas en los documentos. Un tiempo que, con un buen conocimiento de la herramienta, puede minimizarse por medio de la automatización de tareas. Esto se consigue en Excel con el uso del lenguaje de programación VBA (Visual Basic para aplicaciones), cuyo conocimiento coloca al usuario en una posición privilegiada en un contexto profesional al aumentar su eficiencia, dedicando más tiempo a los trabajos más creativos e importantes. 

¿Quieres saber qué es el Visual Basic en Excel y cómo funciona? Sigue leyendo.

El lenguaje de programación Visual Basic (VBA) en Excel

Visual Basic para Aplicaciones (VBA) es un lenguaje de programación de Office con el que es posible crear aplicaciones nuevas y funciones personalizadas para ahorrar tiempo en programas como Excel. En este sentido, tiene como principal virtud la capacidad de automatizar casi todas las operaciones de esta aplicación, algo que lo convierte en uno de los mejores recursos a la hora de eliminar tareas repetitivas. No obstante, todo depende de la creatividad del usuario y de sus conocimientos.

Para programar con Visual Basic en Excel, es importante tener claro cuándo es conveniente utilizar este lenguaje. Es posible que haya ocasiones en las que exista una opción más sencilla para alcanzar el objetivo requerido. En líneas generales, VBA es conveniente utilizarlo cuando hay que hacer tareas repetitivas en Excel o cálculos muy complicados de una forma manual

En estas situaciones, sería conveniente programar una determinada tarea, o varias, para poder ejecutarla con un simple botón o mediante la configuración de un comando. De esta manera, con la escritura en código de tareas concretas, es posible conseguir el objetivo deseado: automatizar pasos y realizar tareas complejas en Excel aumentando la eficiencia del trabajo.

Ejemplos de Visual Basic en Excel

Dos ejemplos pueden ilustrar lo que puede hacer para agilizar el trabajo el lenguaje de programación Visual Basic en Excel:

  • Ejemplo 1: “Limpiar celdas tras importar datos”. Hay profesionales que se dedican a realizar estudios y análisis basándose en datos extraídos de diferentes fuentes. Estas últimas pueden proceder de todo tipo de documentos y archivos. Algunos son compatibles con Excel, y otros no. 

En este sentido, por ejemplo, los datos extraídos de un PDF pueden no ser importados de forma correcta a Excel. Cuando se copian y pegan, suelen quedar filas en blanco que hay que depurar para poder trabajar en las hojas de cálculo. En este caso, si son pocos datos y tan solo tuviéramos que hacer esta tarea una vez al año, el trabajo de depuración podría hacerse a mano. Sin embargo, el problema viene cuando esta tarea la hacemos miles de veces con cientos de documentos diferentes. Ahí, el profesional tiene un problema si no automatiza la tarea. 

Con VBA, podríamos programar una tarea para eliminar las filas vacías de cualquier hoja de cálculo de Excel, de modo que esta pudiera aplicarse a todos nuestros documentos con solo ejecutar un comando.

  • Ejemplo 2: “Calcular un descuento por unidades vendidas”. También se puede programar en Visual Basic en Excel, por ejemplo, una tarea para que calcule de forma automática un descuento del 10% en ciertos productos, siempre que se vendan más de 300 unidades, redondeando a dos décimas. De esta manera, una vez que se tiene el código escrito, se puede utilizar esta solución en todo nuestro libro, o en cualquier otro, sin tener que introducir la fórmula de forma manual en cada libro, lo que nos permitirá ahorrar tiempo en una tarea repetitiva. 
visual-basic-excel

¿Cómo funciona Visual Basic en Excel? 

El editor de VBA es una ventana independiente al libro de Excel en el que se está trabajando. Es decir, a ella se llega desde la pestaña “Programador” y se puede escribir código de manera directa o cerrarla sin que afecte a nuestro libro. Sin embargo, antes de llegar al editor de Visual Basic, hay que conocer las dos formas de programar con Visual Basic en Excel: la automática y la manual.

La forma automática es la que se utiliza cuando se graban “Macros”. Aunque no se vea, al hacer una “Macro”, Excel está programando en VBA “por detrás”. En este sentido, el uso de las macros es un recurso muy interesante para aquellos que no saben programar en este código y quieren automatizar tareas de una forma más sencilla.

La otra forma de programar con VBA en Excel requiere conocer los conceptos de este código de programación y su filosofía. Programar manualmente ofrece una mayor versatilidad a la hora de desarrollar nuevas aplicaciones y crear soluciones personalizadas dentro de Excel

El concepto de Programación Orientada a Objetos (POO)

Visual Basic for Applications es un Código de Programación Orientada a Objetos (POO), un lenguaje diferente al basado en procedimientos. De una forma muy resumida, la POO es una analogía entre la vida real y el código de lenguaje de programación. Comprenderlo es clave para saber cómo funciona Visual Basic y empezar a escribir código en Excel. 

Para hacer esta semejanza entre realidad y programación, hay que tener presente que este lenguaje contempla que cualquier objeto está compuesto por unas propiedades (características) y unos métodos (funciones). Pongamos el siguiente ejemplo:

  • En la vida real, un coche (objeto) tiene las propiedades de “puertas”, “ruedas”, “ventanas”, “motor”, etc.; y los métodos de “arrancar”, “frenar”, “acelerar” etc. Aplicado a Excel, podríamos decir que una celda (objeto) tiene las características de “bordes”, “fondos”, “valor”, etc.; y, cómo métodos, puede “Copiar”, “Borrar”, “Pegar”, etc.

Comprendido este punto, y para saber cómo funciona Visual Basic, se debe comprender también el concepto de “Jerarquía de Objetos”. Esta forma de programar sirve para ordenar y clasificar las diferentes propiedades y métodos que componen un objeto. 

En este sentido, si quisiéramos modificar una propiedad del coche citado anteriormente con Visual Basic en Excel, tendríamos que escribir todo esto siguiendo, a su vez, el concepto de la jerarquía del punto. De este modo, habría que añadir lo siguiente:

  • coche.puerta.color=azul. (Esto significa que la puerta del coche es azul).

Asimismo, en Excel, la jerarquía de objetos es: 

  1. Application.
  2. Workbooks.
  3. Worksheets.
  4. Chart-Range.
  5. PivotTables-Names.

Por tanto, si quisiéramos modificar siempre el valor de una celda concreta en Excel y programar esta tarea para que siempre apareciera “350”, deberíamos escribir en Visual Basic:

  • Application.Workbooks("Libro1").Worksheets("Hoja1").Range("b5").Value = 350

Tras guardar esta “Macro” y asignarle un comando de ejecución, siempre que lo ejecutemos, aparecerá el valor 250 en la celda B5 de nuestra Hoja1 del Libro1.

visual-basic-excel

Conviértete en un experto en Macros y VBA

¿Quieres conocer el lenguaje de programación Visual Basic en Excel y las funciones más avanzadas del programa de cálculo para aplicarlos en tu trabajo?  Descubre Santander Open Academy, el espacio formativo que necesitas para seguir creciendo.

Únete a nuestra plataforma global de aprendizaje y desarrollo profesional y accede a cursos subvencionados al 100%, contenido formativo en un montón de formatos y becas de universidades e instituciones líderes.

 

Si como nosotros, crees que nunca hay que dejar de aprender, entra aquí y regístrate. ¡Descubre lo que tenemos para ti!

Más posts interesantes que leer...