Una de les maneres en què podeu obtenir codi VBA en un mòdul VBA és utilitzar el gravador de macros d'Excel per gravar les vostres accions i convertir-les en codi VBA. Tanmateix, no totes les tasques es poden traduir a VBA enregistrant una macro. També podeu introduir el codi directament o copiar el codi d'un mòdul i enganxar-lo a un altre.
Introduir i editar text en un mòdul VBA funciona tal com podria esperar. Podeu seleccionar, copiar, tallar, enganxar i fer altres coses al text.
Una única línia de codi VBA pot ser tan llarga com vulgueu. Tanmateix, és possible que vulgueu utilitzar el caràcter de continuació de línia per trencar línies llargues de codi. Per continuar una sola línia de codi (també coneguda com a instrucció ) d'una línia a la següent, acabeu la primera línia amb un espai seguit d'un guió baix (_). A continuació, continueu la declaració a la línia següent. Aquí teniu un exemple d'una sola declaració dividida en tres línies:
Selection.Sort Key1:=Range("A1"), _
Order1:=xlAscending, Capçalera:=xlGuess, _
Orientació:=xlTopToBottom
Aquesta declaració funcionaria de la mateixa manera si s'introduïa en una sola línia (sense caràcters de continuació de línia).
VBE té diversos nivells de desfer i refer. Si heu suprimit una declaració que no hauríeu de tenir, feu servir el botó Desfés de la barra d'eines (o premeu Ctrl+Z) fins que la instrucció torni a aparèixer. Després de desfer, podeu utilitzar el botó Refés per realitzar els canvis que hàgiu desfet.
Estàs preparat per introduir un codi real i real? Proveu els passos següents:
Creeu un nou llibre de treball a Excel.
Premeu Alt+F11 per activar VBE.
Feu clic al nom del nou llibre de treball a la finestra del projecte.
Trieu Insereix → Mòdul per inserir un mòdul VBA al projecte.
Escriviu el codi següent al mòdul:
Sub GuessName ()
Dim Msg com a cadena
Dim Ans As Long
Msg = "El teu nom és " & Application.UserName & "?"
Resposta = MsgBox(Msg, vbYesNo)
Si Res = vbNo Aleshores MsgBox "Oh, no importa".
If Ans = vbYes Then MsgBox "He de ser clarivident!"
End Sub
Assegureu-vos que el cursor es troba en qualsevol lloc del text que heu escrit i, a continuació, premeu F5 per executar el procediment.
F5 és una drecera per a l'ordre Executar → Executar Sub/Formulari d'usuari.
Quan introduïu el codi que apareix al pas 5, és possible que noteu que VBE fa alguns ajustos al text que introduïu. Per exemple, després d'escriure la instrucció Sub, VBE inserirà automàticament la instrucció End Sub. I si omet l'espai abans o després d'un signe igual, VBE insereix l'espai per a vostè. A més, VBE canvia el color i les majúscules d'algun text. Aquests canvis són la manera de VBE de mantenir les coses ordenades i llegibles.
Si heu seguit els passos anteriors, acabeu de crear un procediment VBA Sub, també conegut com a macro. Quan premeu F5, Excel executa el codi i segueix les instruccions. En altres paraules, Excel avalua cada declaració i fa el que li vau dir. Podeu executar aquesta macro qualsevol nombre de vegades, encara que tendeix a perdre el seu atractiu després d'unes quantes desenes d'execucions.
Aquesta macro senzilla utilitza els conceptes següents:
-
Definició d'un procediment Sub (la primera línia)
-
Declaració de variables (les declaracions Dim)
-
Assignació de valors a variables (Msg i Ans)
-
Concatenar (unir) una cadena (utilitzant l'operador &)
-
Ús d'una funció VBA integrada (MsgBox)
-
Ús de constants VBA integrades (vbYesNo, vbNo i vbYes)
-
Utilitzant una construcció If-Then (dues vegades)
-
Finalització d'un procediment Sub (l'última línia)
Com s'ha esmentat, podeu copiar i enganxar codi en un mòdul VBA. Per exemple, un procediment de sub o funció que escriviu per a un projecte també pot ser útil en un altre projecte. En lloc de perdre el temps tornant a introduir el codi, podeu activar el mòdul i utilitzar els procediments normals de copiar i enganxar (Ctrl+C per copiar i Ctrl+V per enganxar). Després d'enganxar el codi en un mòdul VBA, podeu modificar el codi segons sigui necessari.