Registrare una macro in Microsoft Excel

Esegui una serie di eventi tutti insieme quando necessario

Autore: Andrea Pacchiarotti
Ultimo aggiornamento: 04 Maggio 2020
Categoria: Microsoft Office Excel Macro

Microsoft Excel e Business Intelligence
Registrare una macro in Microsoft Excel

Le macro consentono di registrare una serie di eventi, come ad esempio formule, funzioni, formattazioni, ecc. ed eseguirli tutti insieme quando necessario, il tutto in modo semplice e veloce. Ciò consente di ripetere rapidamente comandi da eseguire in serie tante volte o che risultano tediosi da replicare, senza necessità di scrivere una riga di codice VBA.

Indice Registrare una macro in Microsoft Excel

Sicurezza Macro

Per eseguire una macro va prima verificato il grado di protezione impostato in Excel, visualizzabile dalla scheda Sviluppo (se non è presente è necessario cliccare la scheda File, voce Opzioni, nella finestra che si apre, cliccare Personalizzazione barra multifunzione e sulla destra spuntare la casella di controllo Sviluppo), icona Sicurezza macro; comparirà una finestra che permetterà di impostare il livello di protezione scegliendo tra:

è preferibile scegliere quest’ultima impostazione se si è sicuri della provenienza dei file ricevuti.

Registrare una macro

Come detto, chi usa di frequente Excel avrà notato che spesso capita di svolgere operazioni ripetitive. A volte attraverso la semplice registrazione di una macro è possibile eseguire tali operazioni automaticamente cliccando solo un tasto; per farlo occorre il Registratore di macroche memorizza le azioni svolte dall'utente e le converte in linguaggio VBA (Visual Basic for Application). L’icona si trova sia nella scheda Visualizza che Sviluppo e si chiama Registra macro; cliccandola si aprirà una finestra che richiede:

Scegliendo Cartella macro personale, Excel salva la macro nella cartella Personal.xlsb che viene caricata all’avvio di Excel: memorizzandola qui essa sarà disponibile per tutte le cartelle di Excel. Se dovesse sorgere qualche problema si dovrebbe editare il file Personal.xlsb e cancellare o modificare la macro che presenta problemi. Se non si riesce a modificare la macro è possibile cancellare il file Personal.xlsb senza pregiudicare Excel, in quanto se tale file è assente, Excel lo ricrea con le impostazioni di default.
Scegliendo invece Questa cartella di lavoro, la macro verrà salvata nella cartella corrente (scelta consigliata)

Si provi a registrare una semplice macro chiamata IntCentro, da memorizzare in Questa cartella di lavoro, che metta la frase Corso VBAal centro dell’intestazione.
Servirà dunque cliccare l’icona Registra macro, inserire l’intestazione e ricliccare la stessa icona che si sarà trasformata in Interrompi registrazione.
Entrare nel VBE (Visual Basic Editor) attraverso la combinazioni di tasti Alt+F11 o dalla scheda Sviluppo / icona Visual Basic, guardare il codice (per ingrandirlo cliccare la voce Strumenti e poi Opzioni… ed infine Formato) e notare:

Durante la registrazione della macro bisogna stare attenti alle operazioni svolte perché vengono registrate tutte le azioni che si fanno, quindi anche quelle sbagliate. È da ricordare che nella macro, per impostazione predefinita, i riferimenti sono assoluti. Ciò significa che se ad esempio si seleziona una colonna in fase di registrazione, l’azione registrata verrà sempre eseguita su quella colonna. Si possono rendere relativi i riferimenti cliccando, dalla scheda Sviluppo, l’icona Usa riferimenti relativi prima di avviare la registrazione.
A volte è anche necessario correggere una macro registrata. Per farlo bisogna andare sulla scheda Visualizza, icona Macro, icona Visualizza Macro, selezionare il nome della macro e cliccare il pulsante Modifica. Ma la modifica è possibile solo se si conosce il linguaggio VBA, quindi è normalmente necessario cancellare la macro corrente e registrarla una seconda volta.

Eseguire una macro

È possibile eseguire la macro:

Conclusioni

La registrazione di una macro può essere usata solo per i codici semplici e non per procedure complesse perché le Sub scritte di propria mano sono molto più potenti, ma nonostante i limiti (assenza di variabili, cicli, istruzioni condizionali, ecc.), le macro registrate risultano a volte pratiche per vedere i comandi usati ed eventualmente riciclarli nelle proprie procedure, ciò non sempre è possibile specialmente per le funzioni.
Normalmente chi usa VBA negli applicativi Microsoft Office, ma anche chi lavora con altri codici di programmazione in differenti ambiti, tende a crearsi una libreria di listati utili (ad esempio memorizzandoli su Excel stesso o su un documento Word) che, con il copia e incolla, ricicla all’occasione.
Nulla vieta quindi di raggruppare in uno o più moduli le decine di spezzoni di codici VBA che si trovano in Rete e crearsi la propria libreria personale. La qual cosa è utilissima in quanto saper padroneggiare il linguaggio VBA permette di avere davanti  scenari sorprendenti perché sia ha la facoltà di personalizzare al massimo Microsoft Excel, facendogli eseguire cose che non sarebbe in grado di fare senza utilizzare il VBA, ad esempio ordinare i fogli in senso alfabetico con un semplice clic.
Il video all'inizio della pagina ti permette di seguire la creazione di una macro un po' più sofisticata di quella descritta in questo articolo.


Per saperne di più su Microsoft Excel potrebbero interessarti questi due libri:

Se vuoi approfondire alcuni dei temi trattati, visita la pagina con le mie pubblicazioni cartacee e online.

Se l'articolo ti è piaciuto, condividilo!

Segui l'hashtag #AndreaPacchiarotti