LinkedIn Facebook

HomeBlog › Excel: Macro e VBA

Excel:

Registrare ed eseguire una Macro

L’argomento macro risulta spesso molto nebuloso in Excel.
Capita di sentire molti utenti affermare di non sapere come si fa una macro.
Con questo termine non si intende, tuttavia, un comando presente in Excel accanto a quelli già esistenti e per questo quando si parla di macro, occorre fare un pochino di chiarezza iniziale.
Il punto iniziale è distinguere tra ciò che Excel può fare con i comandi e le funzionalità disponibili al suo interno e ciò che non può essere fatto direttamente in Excel.

• La prima accezione di macro è: registrazione di azioni eseguibili in Excel al fine di ripeterle successivamente in modo rapido e semplice. L’intento è quello di velocizzare comandi che devono essere applicati in serie per parecchie volte o che risultano ostici o seccanti da applicare ogni volta.Si tratta di un’opzione accessibile a tutti gli utenti che devono solo prestare attenzione alle operazioni che vengono eseguite durante la registrazione.
• La seconda accezione di macro è scrittura di codice in un particolare linguaggio denominato Visual Basic for Applications (Vba) mediante il quale l’utente può estendere la funzionalità facendo fare ad Excel quello che il programma non può fare attraversi i comandi già presenti. Tale opzione apre scenari interessanti perché personalizza al massimo Excel, ma risulta, ovviamente, un’ipotesi complessa per molti utilizzatori di Excel, che hanno a che fare con un linguaggio con una sua sintassi complessa e tutto compilabile in lingua inglese.



REGISTRARE UNA MACRO

Sviluppo nella Barra multifunzione, di norma non presente nell’interfaccia Excel ma attivabile dalle opzioni del programma, permette una gestione più approfondita delle macro, la registrazione di una macro può avvenire anche dalla scheda Visualizza.
Prima si clicca su Macro e poi su Registra macro. Prima di avviare la registrazione delle azioni, si apre una finestra come quella sottostante.



L’azione necessaria da compiere è dare un nome significativo alla macro. Il nome non ammette spazi vuoti o caratteri speciali e non deve iniziare con un numero come primo carattere.
La finestra offre anche la possibilità di associare l’esecuzione della macro, una volta registrata, con la combinazione del tasto Ctrl più un tasto qualsiasi della tastiera o dei tasti Ctrl più Shift più un tasto a scelta della tastiera e di fare una descrizione delle azioni che vengono eseguite durante la registrazione.
Per impostazione predefinita la macro viene memorizzata solo all’interno della cartella di lavoro in cui viene registrata.
L’alternativa è salvare la macro in una cartella personale per poterla avere a disposizione in tutte le cartelle di lavoro Excel, ma questa è una operazione che non viene qui trattata e che presuppone una gestione un pochino più complessa.
Appena eseguite le azioni, si interrompe la registrazione della macro. Bisogna fare attenzione alle operazioni che vengono svolte, perché possono sorgere due ordini di problemi.

1. Durante la macro vengono registrate le varie azioni, anche quelle errate. Inoltre, bisogna prestare estrema attenzione a cosa si fa. Supponiamo che il mouse si trovi nella cella B1. Parte la registrazione e la prima operazione è colorare la cella e darle un bordo.Supponiamo che invece il mouse si trovi nella cella A1 prima che parta la registrazione e solo dopo l’avvio di quest’ultima il mouse si sposti sulla cella B1. Le due macro risultano differenti: la prima colorerà e borderà la cella selezionata al momento dall’utente, la seconda colorerà e borderà sempre e soltanto la cella B1.

2. Anche nella macro vale il concetto di riferimenti relativi ed assoluti di cella. Per impostazione predefinita i riferimenti sono assoluti. Questo vuol dire, ad esempio, che qualora venga selezionata una colonna particolare durante la registrazione, l’azione registrata verrà sempre compiuta sulla stessa colonna. Per rendere relativi i riferimenti e fare in modo che la macro si applichi a qualsiasi intervallo selezionato, occorre premere il comando Usa riferimenti relativi prima di avviare la registrazione.

Queste due osservazioni invitano a soffermarsi su un punto: come correggere una macro registrata in modo errato? Tutto quello che l’utente ha registrato va a finire in una stringa di codice Vba cui si può accedere, ad esempio, cliccando su Visualizza poi Macro poi Visualizza Macro e Modifica nella finestra Macro che richiama le macro già fatte. La modifica è, dunque, possibile solo se si conosce il codice Vba, altrimenti è necessario registrare di nuovo la macro.



L’immagine sotto mostra le prime stringhe di codice delle due macro cui si accennato sopra al punto 1 e rimarca le differenze (riguarda l’applicazione del colore di sfondo alla selezione).
Nella macro1 l’azione riguarda la cella selezionata, qualsiasi essa sia (with selection) mentre nella macro 2, siccome durante la registrazione il mouse si è spostato sulla cella B1, l’azione concerne sempre e solo la cella B1 (Range “B1”.Select)



ESEGUIRE UNA MACRO

Le modalità di esecuzione di una macro sono molteplici.
Come visto in precedenza, una può essere impostata già durante la registrazione della macro: la combinazione di tasti Ctrl o Ctrl + Shift ed un tasto qualsiasi a scelta dell’utente.
Dopo la registrazione della macro, i modi ulteriori per eseguirla sono:
• Agire dalla stessa finestra Macro illustrata qualche riga sopra per mostrare la modifica. Il pulsante Esegui esegue la macro. Da notare anche il pulsante per eliminare la macro.
• Se dalle opzioni del programma è stata attivata la scheda Sviluppo, si può cliccare su Inserisci e poi Pulsante.Si tratta di un cosiddetto controllo che si può disegnare all’interno del foglio di lavoro ed associare ad una macro. La macro stessa viene eseguita tramite clic sul pulsante.
• Un pulsante più personalizzato può essere inserito dall’utente dalla scheda Inserisci comando Forma. Si sceglie la forma desiderata e la si disegna nel foglio di lavoro. Si può agire sul riempimento e la bordatura della forma, scrivere del testo ed applicare effetti ma la cosa fondamentale è dare clic con il tasto destro del mouse sulla forma e poi Assegna Macro per associare la forma all’esecuzione della macro desiderata.
• È possibile far apparire il comando per eseguire la macro anche sulla Barra di accesso rapido. Dalla scheda File si clicca su Opzioni e poi su Barra di accesso rapido. Nella schermata di sinistra nella sezione Scegli da comandi da si sceglie Macro per far apparire tutte le macro. Si seleziona la macro (nell’immagine sotto è la macro denominata Macro1) e si preme sul pulsante Aggiungi per far apparire la macro sulla Barra di accesso rapido.



N.B. Il file con una macro va salvato in un formato specifico che ammette la presenza di macro. La sicurezza e la protezione da macro è argomento da approfondire specificamente.


Se l'articolo è stato utile, seguimi sui Social networks cliccando i pulsanti in alto a destra di questa pagina.

Se vuoi condividere questo articolo nella tua Rete sociale, puoi utilizzare i bottoni Social a sinistra