Les variables tenen un paper important en la majoria de les macros d'Excel que trobeu. Podeu pensar en les variables com a contenidors de memòria que podeu utilitzar en els vostres procediments. Hi ha diferents tipus de variables, cadascuna encarregada de contenir un tipus específic de dades.
A continuació es mostren alguns dels tipus habituals de variables que veureu:
-
Cadena: conté dades textuals
-
Enter: conté dades numèriques que van des de –32.768 fins a 32.767
-
Llarg: conté dades numèriques que van des de –2.147.483.648 fins a 2.147.483.647
-
Doble: conté dades numèriques de coma flotant
-
Variant: Conté qualsevol tipus de dades
-
Booleà: conté dades binàries que retornen Vertader o Fals
-
Objecte: conté un objecte del model d'objectes d'Excel
Quan creeu una variable en una macro, esteu declarant una variable . Per fer-ho, introduïu Dim (abreviatura de dimensió), després el nom de la vostra variable i després el tipus. Per exemple:
Atenua MyText com a cadena
Atenua MyNumber com a nombre enter
Atenua MyWorksheet com a full de treball
Després de crear la variable, podeu omplir-la amb dades. Aquests són alguns exemples senzills de com podeu crear una variable i després assignar-li valors:
Atenua MyText com a cadena
El meuText = Interval("A1").Valor
Atenua MyNumber com a nombre enter
El meuNúmero = Interval("B1").Valor * 25
Atenua MyObject com a full de treball
Estableix MyWorksheet = Fulls("Full1")
Els valors que assigneu a les vostres variables sovint provenen de dades emmagatzemades a les vostres cel·les. Tanmateix, els valors també poden ser informació que creeu. Tot depèn de la tasca a realitzar. Aquesta noció es farà més clara a mesura que aneu a través de les macros d'aquest llibre.
Encara que és possible crear un codi que no utilitza les variables, et trobaràs molts exemples de codi VBA on les variables es fan servir. Hi ha dues raons principals per a això.
En primer lloc, Excel no sap de manera inherent per a què s'utilitzen les vostres dades. No veu números, símbols ni lletres. Només veu dades. Quan declareu variables amb tipus de dades específics, ajudeu Excel a saber com ha de gestionar determinades dades perquè les vostres macros produeixin els resultats que esperaríeu.
En segon lloc, les variables ajuden fent que el vostre codi sigui més eficient i més fàcil d'entendre. Per exemple, suposem que teniu un número a la cel·la A1 al qual us referiu repetidament a la vostra macro. Podeu recuperar aquest número assenyalant la cel·la A1 cada vegada que el necessiteu:
Sub macro1()
Interval("B1").Valor = Interval("A1").Valor * 5
Interval("C1").Valor = Interval("A1").Valor * 10
Interval("D1").Valor = Interval("A1").Valor * 15
End Sub
Tanmateix, aquesta macro obligaria Excel a perdre cicles emmagatzemant el mateix nombre a la memòria cada vegada que apunteu a la cel·la A1. A més, si necessiteu canviar el vostre llibre de treball perquè el número objectiu no estigui a la cel·la A1, sinó a, per exemple, la cel·la A2, haureu d'editar el vostre codi canviant totes les referències d'A1 a A2.
Una millor manera és emmagatzemar el número a la cel·la A1 només una vegada. Per exemple, podeu emmagatzemar el valor a la cel·la A1 en una variable entera anomenada myValue:
Sub AmbVariable ()
Atenua myValue com a nombre enter
el meuValor = Interval("A1").Valor
Interval("C3").Valor = el meuValor * 5
Interval("D5").Valor = el meuValor * 10
Interval("E7").Valor = el meuValor * 15
End Sub
Aquest enfocament no només millora l'eficiència del vostre codi (assegurant-vos que Excel llegeix el número de la cel·la A1 només una vegada), sinó que també us garanteix que només haureu d'editar una línia si el disseny del vostre llibre de treball canvia.