
Se ti ritrovi a eseguire la stessa identica sequenza di clic, formattazioni e modifiche ai dati in Excel giorno dopo giorno, stai sprecando tempo prezioso. La buona notizia è che Excel dispone di un "registratore" integrato che può memorizzare queste azioni e ripeterle in una frazione di secondo. Questo strumento si chiama Macro.
Imparare a usare le macro di Excel è spesso il più grande salto di qualità per passare da principiante a utente esperto. L'automazione elimina gli errori di inserimento manuale dei dati, garantisce coerenza e libera il tuo tempo per analisi più importanti. Di fatto, imparare l'automazione tramite macro è il modo in cui molti professionisti riducono drasticamente il loro carico di lavoro: puoi persino leggere di come una startup ha risparmiato 20 ore a settimana con l'automazione di Excel.
In questa guida completa, ti illustreremo esattamente che cos'è una macro, come abilitare gli strumenti necessari e come registrare, eseguire e modificare la tua primissima macro in Excel.
In sostanza, una macro è una sequenza registrata di azioni o comandi che puoi eseguire come singolo comando. Dietro le quinte, quando registri una macro, Excel traduce i clic del mouse e la digitazione sulla tastiera in un linguaggio di programmazione chiamato VBA (Visual Basic for Applications).
Non è necessario saper scrivere codice VBA per creare macro altamente efficaci. Usando il Registratore macro, esegui semplicemente la tua attività in modo normale, come applicare il grassetto, inserire una formula IF o SUM o regolare la larghezza delle colonne, ed Excel scrive automaticamente il codice necessario per te.
Per impostazione predefinita, gli strumenti necessari per registrare e gestire le macro sono nascosti in Excel per evitare che i principianti modifichino accidentalmente le loro cartelle di lavoro. Il primo passo è abilitare la scheda Sviluppo.
Ora dovresti vedere la scheda Sviluppo sulla barra multifunzione di Excel, accanto alle schede Visualizza o Guida. Questa scheda è il tuo centro di controllo per tutto ciò che riguarda le macro e l'automazione.
Esaminiamo un esempio pratico e reale. Immagina di esportare ogni mattina un report dei dati di vendita dal software della tua azienda. I dati grezzi appaiono sempre disordinati: le colonne sono troppo strette, le intestazioni non sono formattate e devi sempre aggiungere una riga dei totali in basso utilizzando una funzione SUM.
Invece di farlo manualmente ogni giorno, registreremo una macro per formattare questo report all'istante.
Prima di premere su registra, è fondamentale pianificare i passaggi. Il Registratore macro è letterale; registra anche errori, clic extra e scorrimenti. Conoscere la sequenza in anticipo garantisce una macro pulita ed efficiente.
Per il nostro esempio, supponiamo che tu abbia dati nelle colonne da A a D, con le intestazioni nella Riga 1. I passaggi previsti sono:
=SUM(D2:D100) (supponendo che i dati arrivino fino alla riga 100). Premi Invio.Congratulazioni! Hai appena registrato con successo la tua prima macro.
Per testare la potenza di ciò che hai appena creato, annulliamo la formattazione. Premi Ctrl + Z più volte finché i dati non tornano al loro stato grezzo. Ora, eseguiamo la macro per guardare Excel fare il lavoro al posto tuo.
In meno di un secondo, Excel seleziona l'intestazione, applica la formattazione in grassetto e blu, ridimensiona le colonne e inserisce la funzione SUM. Un'attività che manualmente richiederebbe 30 secondi, viene completata in pochi millisecondi.
Non devi essere un programmatore per sbirciare dietro le quinte. Comprendere il codice generato da Excel ti aiuta ad apportare piccole modifiche senza dover registrare nuovamente l'intera macro.
Per visualizzare il tuo codice, vai alla scheda Sviluppo e fai clic su Visual Basic (o premi Alt + F11). Si aprirà l'editor VBA. Sul lato sinistro, fai doppio clic su Moduli, poi su Modulo1. Vedrai qualcosa di simile a questo:
Sub FormatDailyReport()
'
' FormatDailyReport Macro
' Formats headers, autofits columns, and adds a total.
'
Rows("1:1").Select
Selection.Font.Bold = True
With Selection.Interior
.ThemeColor = xlThemeColorLight2
.TintAndShade = 0
End With
Columns("A:D").Select
Selection.EntireColumn.AutoFit
Range("D101").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-99]C:R[-1]C)"
End Sub
Anche se non conosci il VBA, probabilmente puoi comprenderne la logica. Rows("1:1").Select significa che Excel ha selezionato la prima riga. Selection.Font.Bold = True significa che l'ha resa in grassetto. Se volessi cambiare le colonne selezionate da A a F invece che da A a D, potresti semplicemente modificare manualmente Columns("A:D").Select in Columns("A:F").Select nell'editor di testo e salvare.
Se sei interessato a imparare come scrivere questi script da zero, leggere di più sulle basi di VBA è un ottimo passo successivo.
Uno degli ostacoli più comuni per i principianti riguarda il modo in cui le macro selezionano le celle. Per impostazione predefinita, il Registratore macro utilizza i Riferimenti Assoluti. Questo significa che se fai clic sulla cella B5 durante la registrazione, la macro farà clic esattamente sulla cella B5 ogni volta che verrà eseguita, indipendentemente dalla posizione in cui si trova il cursore attivo.
A volte, desideri che una macro formatti una cella in base alla posizione attuale del tuo cursore. Per farlo, devi attivare Usa riferimenti relativi (che si trova subito sotto il pulsante Registra macro nella scheda Sviluppo) prima di iniziare la registrazione.
Se non hai familiarità con questo concetto, puoi rinfrescarti la memoria sui riferimenti relativi e assoluti per capire come Excel gestisce il posizionamento. Di seguito troverai un rapido confronto su come si comportano le due modalità nel registratore macro:
| Modalità di Registrazione | Come Funziona | Ideale Per... |
|---|---|---|
| Riferimenti Assoluti (Predefinito) | Registra l'indirizzo esatto della cella (es., Range("C10").Select). La macro tornererà sempre a C10. | Formattare intestazioni fisse, applicare una funzione VLOOKUP a una specifica tabella di dati statica, o inserire un titolo nella cella A1. |
| Riferimenti Relativi | Registra lo spostamento (offset) rispetto alla cella attiva (es., ActiveCell.Offset(1, 0).Select). | Creare macro che formattano "la riga successiva in basso", o applicare uno stile specifico alla cella attualmente selezionata. |
Per assicurarti che le tue macro funzionino sempre in modo fluido, tieni a mente queste migliori pratiche per principianti:
La registrazione delle macro è il punto di ingresso perfetto per l'automazione dei fogli di calcolo. Una volta padroneggiato il registratore, inizierai naturalmente a identificare altri rallentamenti nella tua routine settimanale. Potresti poi passare all'automazione dei report con Excel VBA in maniera completa, dove il recupero, la pulizia dei dati e l'invio via email avvengono in modo totalmente automatico.
Tuttavia, imparare la sintassi di programmazione non è per tutti. Se fai fatica a trovare le formule INDEX, MATCH o IF corrette da inserire nelle tue macro, non devi passare ore su Google. Ti basta descrivere ciò che vuoi ottenere in linguaggio naturale a GPTExcel, e quest'ultimo genererà all'istante la formula perfetta o lo snippet di codice VBA da incollare nella tua cartella di lavoro.
Combinando il Registratore macro nativo con i moderni strumenti di intelligenza artificiale, puoi automatizzare quasi tutte le attività ripetitive sulla tua scrivania, guadagnando più tempo per concentrarti su ciò che conta davvero.
Le macro che registri in autonomia sono completamente sicure. Tuttavia, poiché il VBA è un potente linguaggio di programmazione, terze parti potrebbero scrivere codice dannoso all'interno delle macro. Dovresti eseguire solo macro provenienti da cartelle di lavoro scaricate da fonti attendibili. Ecco perché Excel disabilita le macro per impostazione predefinita e mostra un avviso di sicurezza quando si apre un file .xlsm.
No. Non è possibile usare il pulsante Annulla (Ctrl + Z) per annullare le azioni di una macro. Prima di testare una nuova macro su dati importanti, si consiglia vivamente di salvare una copia di backup della cartella di lavoro. Se la macro si comporta in modo imprevisto, ti basterà chiudere il file senza salvare e riaprire il tuo backup.
I file Excel standard (.xlsx) vengono privati di qualsiasi codice per motivi di sicurezza. Se tenti di salvare una cartella di lavoro contenente una macro come file .xlsx, Excel mostrerà un avviso. Per preservare le tue macro registrate, devi cambiare il menu a tendina "Salva con nome" su "Cartella di lavoro con attivazione macro di Excel (*.xlsm)".
Sì, assolutamente. Durante la registrazione di una macro, qualsiasi formula digitata in una cella, che sia una semplice SUM o una complessa dichiarazione IF annidata, verrà registrata. Quando in seguito eseguirai la macro, Excel inserirà quell'esatta formula nella cella designata e calcolerà i risultati all'istante.
Scopri come automatizzare le attività di Excel senza VBA usando Power Automate. Impara a creare flussi basati su eventi, elaborare dati e connettere altre app.
Scopri come creare sistemi di reportistica automatizzati in Excel usando VBA. Impara a estrarre dati, inserire formule, formattare celle ed esportare report con codice passo-passo.
Inizia a programmare in Excel con VBA. Scopri la scheda Sviluppo, le variabili, i cicli, le condizioni e come scrivere la tua prima macro funzionante da zero.