VBA és un Visual Basic (de 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 quelcom i nosaltres modifiquem aquests objectes. Exemples d’objectes a Excel són l’aplicació (Application
), un altre el llibre amb el que treballem (ThisWorkbook
),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 canviar les seves propietats com Name
. Un mètode ens permet transformar l’objecte o treballar-hi mentre que una propietat 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 darrera un objecte l’editor ens mostrarà la llista de mètodes o propietats que pode aplicar. 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 (independentment de que sigui el llibre on està escrita la macro). 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”.

1 comentari:
tinc un problema amb VBA, he de fer que sobre unes dates previstes de execució d'un projecte em dibuixi una ratlla de progres actualitzant-la amb el moment actual i variant-la amb la edició de les dates reals. Vaig una mica perdut ja que no havia fet servir mai VBA. El meu mail es gsaladie@caixapenedes.com
Gràcies
Publica un comentari a l'entrada