VBA és un Visual Basic (en versió Microsoft) adaptat a fer-se servir amb les aplicacions office. El VBA és un llenguatge orientat a objecte, és a dir, hi ha uns objectes que representen algo i nosaltres modifiquem aquests objectes. Exemples d’objectes a Excel són l’aplicació (Application), un altre el llibre amb el que treballem (Workbook),un rang de cel·les (Range("A1:C30")) o una selecció (Selection).

Aquest objectes els podem manipular mitjançant mètodes com un Copy o propietats com Name. Un mètode ens permet transformar l’objecte o treballar-hi mentre que una propietat normalment modificarà algun aspecte del propi objecte. L’editor de VBA ens ajudarà en trobar quins mètodes o propietats es poden aplicar a un objecte en concret, quan posem un punt redera d’un objecte l’editor ens mostrarà la llista de possibilitats que podem escriure. Si trobem la opció que cerquem la podem seleccionar amb un [Tab].

Exemple:

ThisWorkbook.Sheets(1).Range("A1:C3").Select
Selection.Copy
Sheets(2).Range("A1").PasteSpecial xlValues

El que fa: Selecciona el rang “A1:C3” del primer full del llibre on està escrita la macro. Copia la selecció. I finalment l’enganxa en valors a la cel·la A1 del segon full del llibre actiu. Fixeu-vos que a la primera línia es crea l’objecte “selecció” que a la segona se li aplica el mètode de copiar.

Per veure quins objectes hi ha disponibles i la seva ajuda ho podeu fer mitjançant l’explorador d’objectes.Botó de l'examinador d'objectes

La llista de objectes, mètodes i propietats disponibles depenen de les referències carregades a l’editor. Les referències carregades a l’Excel normalment són les del VBA, les comunes d’Office, les especiífiques d’Excel i les d’automatització OLE. Si, per exemple volem manipular un Arxiu PowerPoint des d’Excel hauriem de fer referència a la llibreria de PowerPoint per poder tenir els objectes, mètodes i propietats disponibles. D’això en parlarem més endavant.