Mucha gente me dice que quiere aprender de VBA pero que no sabe por donde empezar y que le fallan los rudimentos. Básicamente la pregunta de todo el mundo es, ¿qué es VBA?.
Bien, VBA no es difícil ni mucho menos. Puedes aprender como yo sin tener ni idea de programación. Lo único que hay que hacer es entender su lógica. Y una vez que la entiendes e interiorizas ya puedes dominar Excel.
Esta lógica de VBA es básicamente: “El programa hará exactamente lo que le digas que haga”. Esto significa que o escribes el código exactamente de lo que quieres que haga o, sino, no conseguirás nunca más que parchecitos. Esto no implica que no se puedan tener árboles de decisión (hacer esto o hacer lo otro). Claro que se puedes, simplemente tienes que indicar cuando se debe hacer “esto” y cuando “lo otro”, y a eso se le llama lógica
Objetos
En VBA orientado a Excel nos encontramos con una jerarquía de objetos que es la siguiente:
- Application
- Workbook
- Worksheet
- Range
- Cell
- otros
Cada uno de estos elementos son llamados objetos y cada objeto tiene sus propiedades. Como es lógico, los más utilizados son Worksheet, Range y Cell.
Algunas de las propiedades del objeto Worksheet son:
- Name
- Select
- Activate
- Count
- Add
- Delete
- Y, en general, cualquiera que habitualmente se utilice en Excel…
Statements
Para interactuar entre estos objetos y realizar operaciones con ellos podemos encontrar una serie de “condicionales lógicos” llamados statements que conviene conocer. Algunos de estos statements son:
- IF …. Then… Elseif… End if
Este primer caso se trata de un statement de tipo condicional. Dada cierta condición, si se cumple, se sigue ejecutando, sino, saltará hasta el final de dicha parte condicionada.
- For… Next
En este caso tenemos un statement de tipo loop, es decir, bucle. Repetirá la acción que queramos tantas veces como le indiquemos.
- Do While
Este statement también es del tipo loop combinado con un condicional. En este caso repetirá la acción indicada mientras se cumpla una cierta condición.
La combinación de objetos con propiedas y statements es el conjunto de las operaciones básicas de Visual Basic Applications.
La dificultad de la programación en VBA estriba
en conocer todas las propiedades (que en el fondo son las normales de cada objeto de Excel) y su nomenclatura.
Por otro lado, como leí hace unos días, a leer se aprende leyendo y a programar, programando.