De vegades, la millor ruta per introduir codi per a Excel 2016 és la més directa. Introduir el codi VBA directament implica... bé, introduir el codi directament. En altres paraules, escriviu el codi mitjançant el teclat. Introduir i editar text en un mòdul VBA funciona com és possible. Podeu seleccionar, copiar, tallar, enganxar i fer altres coses al text.
Utilitzeu la tecla Tab per sagnar algunes de les línies per facilitar la lectura del vostre codi. Sagnar no és necessari, però és un bon hàbit adquirir.
Una única línia de codi VBA pot tenir el temps que necessiteu. Tanmateix, és possible que vulgueu utilitzar els caràcters 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. I no oblidis l'espai. Un caràcter de subratllat que no va precedit d'un espai no farà la feina.
Aquí teniu un exemple d'una sola declaració dividida en tres línies:
Selecció. Clau d'ordenació 1:=Rang(“A1”), _
Order1:=xlAscending, Capçalera:=xlGuess, _
Orientació:=xlTopToBottom
Aquesta declaració funcionaria exactament de la mateixa manera si s'introduïa en una sola línia (sense caràcters de continuació de línia). Observeu que la segona i la tercera línies d'aquesta afirmació estan sagnades. El sagnat és opcional, però ajuda a aclarir el fet que aquestes línies no són declaracions separades.
Els enginyers de revestiment blanc que van dissenyar el VBE preveien que la gent s'equivocaria. Per tant, el VBE té múltiples nivells de desfer i refer. Si heu suprimit una declaració que no hauríeu de tenir, feu clic al 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.
Esteu preparat per introduir algun codi real? Proveu els passos següents:
Creeu un nou llibre de treball a Excel.
Premeu Alt+F11 per activar el 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 ()
Msg = "El vostre nom és " & Application.UserName & "?"
Resposta = MsgBox(Msg, vbYesNo)
Si Res = vbNo Aleshores MsgBox "Oh, no importa".
Si Res = vbSí Aleshores MsgBox "He de ser psíquic!"
End Sub
Col·loqueu el cursor en qualsevol lloc del text que heu escrit i premeu F5 per executar el procediment.
F5 és una drecera per a l'ordre Executar → Executar Sub/Formulari d'usuari. Si heu introduït el codi correctament, Excel executa el procediment i podeu respondre al quadre de diàleg senzill. Recordeu que el text del quadre de diàleg serà diferent.
El procediment GuessName mostra aquest quadre de diàleg.
Quan introduïu el codi que apareix al pas 5, és possible que noteu que el VBE fa alguns ajustos al text que introduïu. Per exemple, després d'escriure la instrucció Sub, el VBE inserirà automàticament la instrucció End Sub. I si ometes l'espai abans o després d'un signe igual, el VBE insereix l'espai per a tu. A més, el VBE canvia el color i les majúscules d'algun text. Tot això és perfectament normal. És només la manera del VBE de mantenir les coses ordenades i llegibles.
Si heu seguit els passos anteriors, acabeu d'escriure 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. (No deixeu que aquest nou poder se us vagi al cap.) Podeu executar aquesta macro qualsevol nombre de vegades, encara que tendeix a perdre el seu atractiu després d'unes dotzenes de vegades.
Perquè consti, aquesta macro senzilla utilitza els conceptes següents:
-
Definició d'un procediment Sub (la primera línia)
-
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)
No està malament per a un principiant, eh?