In questo articolo voglio parlarti di una delle funzionalità più utili in assoluto di Excel: le Macro! Ti farò vedere in semplici passaggi come si fa a fare una Macro, o VBA che dir si voglia, su Excel e ti farò vedere come le Macro possano farti risparmiare una montagna di tempo. Non preoccuparti se non sai da che parte incominciare, ti spiegherò tutto in modo molto semplice. Non sai programmare in Visual Basic? Anche in questo caso puoi stare tranquillo, non è strettamente necessario per poter creare delle semplici Macro su Excel . Seguimi nella lettura dell’articolo!
Sommario
Che cos’è una Macro (o VBA)
Ti dirò la verità: nei miei primi approcci con Microsoft Excel (si parla di un bel po’ di anni fa) non avevo la minima idea di che cosa fosse una Macro, e all’epoca non ero riuscito a trovare una guida che me lo spiegasse in modo chiaro. Mi rendevo conto che online si parlava moltissimo di Macro, di Visual Basic, di VBA, ma non riuscivo a capire a che cosa servissero nella realtà pratica.
Ora, dopo averle usate quotidianamente per anni, sono in grado di spiegarti in modo chiaro e semplice che cosa sia una Macro.
Una Macro è un’operazione automatizzata eseguita da Excel. Di quale operazione sto parlando? Questo è il bello: questa operazione viene definita e programmata da te, e può essere praticamente qualsiasi cosa. Cerco di spiegarmi meglio con un esempio. Immagina che Excel sia il tuo robot-assistente personale (mi viene in mente il simpaticissimo Wall-E, anche se lui non era un assistente personale). Tu sei seduto sul divano ma ti piacerebbe andare a recuperare la posta nella cassetta delle lettere. Hai due possibilità: o ti alzi dal tuo comodissimo divano e scendi a prendere la posta, oppure programmi il tuo robot personale Excel in modo che lo faccia al posto tuo.
In questo caso una Macro potrebbe essere: “Excel: scendi le scale, recupera la posta dalla cassetta delle lettere, ritorna in soggiorno e chiudi la porta”. Una volta che hai programmato queste operazioni, fai partire la Macro e il tuo robot inizierà a eseguire i comandi che gli hai impartito, consegnandoti la posta mentre tu sei ancora spaparanzato sul divano.
A cosa serve una Macro
Come forse hai intuito dall’esempio del robot-assistente, creare una Macro su Excel ha come principale obiettivo quello di farti risparmiare tempo, commissionando ad Excel un lavoro che altrimenti saresti costretto a fare tu.
Programmando una Macro per fare un’operazione che sai che dovrai ripetere molte volte in futuro, risparmierai un’enormità di tempo. Pensa all’esempio del robot: ogni volta che vorrai ritirare la posta ti basterà eseguire la Macro che hai già programmato con un semplice clic, e il Robot Excel andrà diligentemente a recuperarla.

Se pensiamo a situazioni pratiche in cui poter utilizzare una Macro su Excel c’è veramente da sbizzarrirsi. Si può utilizzare una Macro per formattare un testo in un determinato carattere, con una determinata dimensione e un determinato colore. Si può utilizzare una Macro per inserire delle formule prestabilite in un microsecondo. Si può utilizzare una Macro per scaricare dati da internet o da SAP per aggiornare un database. Insomma, le operazioni che si possono eseguire attraverso una Macro sono davvero moltissime.
Tuttavia non sono infinite: infatti ci sono certe condizioni che rendono opportuno o meno l’utilizzo di una Macro. Vediamo quali sono.
Quando utilizzare una Macro
Fino ad ora le Macro ti sembrano meravigliose giusto? Attenzione però: non tutte le operazioni sono adatte per essere programmate con una Macro. Ci sono due condizioni a mio avviso che rendono un’operazione adatta per essere programmata su una Macro:
- Si tratta di un’operazione meccanica e ripetitiva. Le macro danno il meglio di loro quando sono chiamate a svolgere operazioni meccaniche e ripetitive, per esempio impostare carattere, dimensione e colore di un testo.
- Si tratta di un’operazione che dovrà essere usata più volte nel tempo. Per costruire una Macro è necessario investire del tempo, tanto o poco a seconda dell’abilità del programmatore e della complessità della Macro. Questo vuol dire che se la quantità di tempo investita per costruire la Macro è inferiore rispetto al tempo che questa Macro ci farà risparmiare allora è conveniente utilizzare una Macro. Mi spiego meglio: se devo investire 1 ora del mio tempo per programmare una Macro che utilizzerò una sola volta in vita e che mi farà risparmiare 15 minuti del mio tempo, allora non si tratta di un’operazione così conveniente. Viceversa se investo 1 ora di tempo per costruire una Macro che utilizzerò moltissime volte e che ogni volta mi farà risparmiare molto tempo allora ne sarà valsa la pena.
È necessario saper programmare in codice per creare una Macro su Excel?
Come forse saprai la struttura di una Macro non è altro che un codice, scritto nel linguaggio Visual Basic (infatti VBA sta per Visual Basic for Applications). La domanda quindi sorge spontanea: è necessario saper programmare per creare una Macro su Excel ? La risposta a questa domanda è no, non è strettamente necessario saper programmare in Visual Basic per poter creare una Macro. Chiunque, con un po’ di buona volontà, senza particolari competenze informatiche può essere in grado di creare una semplice Macro su Excel .
Certo, avere competenze informatiche, e in particolare saper programmare in Visual Basic, si rivela davvero utile. In particolar modo quando si ha intenzione di creare Macro molto complesse, con operazioni particolari. Però puoi stare tranquillo: leggendo questo articolo sarai in grado di capire la logica che sta dietro una Macro su Excel, e potrai crearne di semplici in pochi passi anche senza sapere nulla di Visual Basic. Nel prossimo paragrafo ti spiegherò come si fa.
Come si crea una Macro (o VBA) su Excel
Ci sono sostanzialmente due metodi per creare una Macro (o VBA) su Excel:
- Si programma in Visual Basic (necessario per Macro molto complesse)
- Si registra su Excel (sufficiente per Macro semplici)
In questo articolo non ti spiegherò come si fa a programmare in Visual Basic: come scrivevo nel paragrafo precedente questa strada si percorre quando è necessario creare Macro molto complesse. In questo articolo voglio spiegarti la seconda strada per creare una Macro, e cioè come si registra una Macro su Excel . Questa strada è quella più semplice, e soprattutto non richiede la conoscenza di un linguaggio di programmazione.
Che cosa vuol dire registrare una Macro su Excel
Registrare una Macro su Excel vuol dire creare una Macro facendo letteralmente vedere a Excel le operazioni che la Macro deve fare; Excel le registra e poi è in grado di ripeterle. Mi spiego meglio. Immaginiamo che spesso siamo costretti a formattare il testo di alcune celle in carattere Arial, dimensione 14, in grassetto e di colore rosso. Questa è la situazione ideale in cui utilizzare una Macro perché si tratta di:
- Un’operazione semplice e meccanica – attribuire un formato ad un testo
- Un’operazione che devo svolgere molte volte nel tempo
Per registrare una Macro di questo tipo io devo premere l’apposito tasto Rec (proprio come sui registratori di una volta), eseguire l’operazione di formattazione, e poi premere il tasto Stop. In questo modo Excel ha registrato le operazioni svolte dall’utente, ed è poi in grado di ripeterle.
Ora che è un po’ più chiaro il concetto di Macro e il concetto di Registrare una Macro, andiamo a vedere nel dettaglio come si fa a farlo.
Come Registrare una Macro su Excel
Step 1 – Attivare la barra degli strumenti dedicata
Di default Excel non mostra la barra degli strumenti dedicata alla registrazione delle Macro. Perciò il primo passaggio fondamentale è quello di andare ad attivarla. Per farlo dobbiamo cliccare su
File -> Opzioni -> Personalizzazione barra multifunzione

Nella finestra che si apre devo flaggare la voce Sviluppo e premere OK.
Ora vedrai che nella barra delle funzioni di Excel sarà comparso il tab Sviluppo.

Step 2 – Riferimenti relativi o assoluti
Questo passaggio è molto importante. Scegliere se usare i riferimenti relativi oppure i riferimenti assoluti vuol dire questo: se usiamo i riferimenti assoluti vuol dire che se noi registriamo la Macro posizionandoci su una specifica cella, quando Excel ripeterà la Macro agirà sempre su quella specifica cella. Se invece usiamo i riferimenti relativi vuol dire che quando Excel ripeterà la Macro agirà sulla cella in cui noi ci siamo posizionati nel momento in cui richiamiamo la Macro. La spiegazione che ci offre Excel è piuttosto chiara.

Scegliere se usare i riferimenti relativi oppure i riferimenti assoluti dipende dalla finalità di utilizzo della nostra Macro. Se la useremo per agire sempre sulle stesse celle allora dobbiamo usare i riferimenti assoluti. Se invece la dovremo usare su tante celle ogni volta diverse allora conviene utilizzare i riferimenti relativi. Nell’esempio che ti farò vedere utilizzerò i riferimenti relativi, e vedrai che ti aiuterà a capire la differenza.
Se decidi di usare i riferimenti relativi allora devi cliccare sull’apposito tasto, altrimenti Excel di default utilizzerà i riferimenti assoluti.

Step 3 – Avvio la registrazione della Macro
Una volta scelti i riferimenti da utilizzare clicco sul tasto Registra macro, assegno il nome alla Macro, ed eseguo l’operazione che voglio registrare. Nell’esempio qui sotto registro una Macro in grado di formattare il testo secondo le mie esigenze. Quando ho finito di registrare l’operazione clicco su Interrompi registrazione.
Attenzione: ricordati che mentre stai registrando devi svolgere solamente le operazioni che intendi registrare, perché Excel memorizzerà qualsiasi operazione venga fatta durante la registrazione.

Nell’esempio qui sopra ho registrato una Macro che formatta il testo della cella in cui sono posizionato in formato Arial 14, rosso e grassetto.
Step 4 – Verifico che la Macro funzioni
Se ho fatto tutto correttamente allora mi posso posizionare su un’altra cella e, richiamando la Macro, il testo di quella cella dovrà formattarsi secondo quanto ho stabilito.
Per verificare che tutto funzioni quindi mi posiziono su un’altra cella col testo, clicco su Macro, scelgo la Macro dall’elenco e clicco su Esegui.

Step 5 – Un modo più rapido per richiamare le Macro
Esiste un modo molto più rapido per richiamare una Macro. Posso trasformare una qualsiasi forma o immagine su Excel in un pulsante che richiama la Macro. In questo modo non dovrò cliccare ogni volta su Macro, scegliere la Macro e cliccare su Esegui; mi basterà cliccare una sola volta sulla forma e la Macro partirà da sola.

Per assegnare una Macro ad una forma devo inserire una forma qualsiasi, cliccaci sopra col tasto destro e clicca su Assegna Macro.
Dopodichè basterà scegliere a quale macro si desidera assegnare la forma e premere su OK.

Quando avrai assegnato la Macro a quella forma ti basterà cliccare su quella forma ogni volta che vorrai richiamarla.

Conclusioni
Con questo articolo spero di averti aiutato a creare la tua prima Macro (o VBA) su Excel, ed averti introdotto in questo magico mondo. Mi rendo conto che non siano argomenti banali, ma ti assicuro che con un po’ di tentativi e di esperimenti potrai diventare molto disinvolto nell’utilizzo di questo strumento, che ha la potenzialità di farti risparmiare tonnellate di ore di lavoro.
Un’ultima cosa: se hai trovato utili questi contenuti ricordati di condividerli con qualcuno che potrebbe apprezzarli!
Vuoi offrirmi una birra?
Impiego molte ore a creare i contenuti di Smartando.it, che condivido gratuitamente. Oltre al tempo impiegato devo anche sostenere i costi di hosting del sito. Se i miei articoli ti sono stati utili e hai voglia di supportare il mio blog qui sotto trovi il tasto per effettuare una donazione via Paypal!
Un ottimo tutorial, grazie mille!