Come creare macro Excel: guida completa 2026 per automatizzare il tuo lavoro
Hai mai passato ore a ripetere le stesse operazioni su Excel? Copiare dati, formattare celle, creare report identici ogni settimana? Esiste una soluzione che può trasformare minuti di lavoro ripetitivo in un semplice clic: le macro di Excel . Secondo statistiche Microsoft del 2025, chi utilizza le macro risparmia in media 5-7 ore settimanali su attività ripetitive.
Le macro sono sequenze di comandi registrati che Excel può eseguire automaticamente. Immagina di poter dire al programma "ricorda cosa sto facendo" e poi riprodurre quelle azioni infinite volte con un solo pulsante. Questo è esattamente ciò che fanno le macro.
In questa guida imparerai tutto ciò che serve per creare le tue prime macro Excel, dal metodo più semplice (registrazione automatica) fino alla personalizzazione con codice VBA. Non serve essere programmatori: ti mostrerò passo dopo passo come automatizzare le tue attività quotidiane, anche se è la prima volta che senti parlare di macro.
Vedremo metodi pratici, esempi concreti e soluzioni ai problemi più comuni. Alla fine di questa guida sarai in grado di creare macro funzionanti che ti faranno risparmiare tempo prezioso ogni giorno.
Indice
- Cosa sono le macro Excel e perché usarle
- Prerequisiti e preparazione
- Abilitare la scheda Sviluppo
- Creare la prima macro con il registratore
- Eseguire e gestire le macro create
- Introduzione al codice VBA
- Metodi alternativi per creare macro
- Best practices e ottimizzazioni
- Errori comuni da evitare
- Domande frequenti
Cosa sono le macro Excel e perché usarle
Le macro Excel sono piccoli programmi che automatizzano sequenze di azioni all'interno di Excel. Funzionano come un registratore digitale: avvii la registrazione, esegui le operazioni che vuoi automatizzare, fermi la registrazione. Excel memorizza tutti i passaggi e può ripeterli quando necessario.
Le macro utilizzano il linguaggio VBA (Visual Basic for Applications) , ma non devi necessariamente conoscerlo per iniziare. Excel può generare automaticamente il codice VBA basandosi sulle tue azioni.
Quando usare le macro:
- Formattazioni ripetitive su report mensili
- Importazione e pulizia dati da fonti esterne
- Creazione automatica di grafici standardizzati
- Consolidamento dati da più fogli
- Invio email automatizzato con dati Excel
- Calcoli complessi su grandi dataset
Vantaggi concreti:
-
Risparmio tempo
: Operazioni di 30 minuti ridotte a 10 secondi
-
Riduzione errori
: L'automazione elimina errori manuali
-
Standardizzazione
: Processi uniformi in tutta l'azienda
-
Produttività
: Concentrazione su analisi invece che su task ripetitivi
💡 Suggerimento: Le macro sono particolarmente utili per attività che ripeti almeno 2-3 volte a settimana. Anche un risparmio di 5 minuti al giorno equivale a oltre 20 ore all'anno.
Prerequisiti e preparazione
Prima di creare la tua prima macro, assicurati di avere tutto il necessario.
Requisiti software:
- Microsoft Excel 2016 o versioni successive (2019, 2021, Microsoft 365)
- Funziona su Windows 10/11 e macOS Catalina o successivi
- Non disponibile su Excel Online (serve versione desktop)
Requisiti di sicurezza:
- Privilegi amministratore per modificare impostazioni macro
- Antivirus aggiornato (le macro possono essere vettore di malware)
Prima di iniziare:
- Fai un backup del file : Salva una copia del foglio Excel su cui lavorerai
- Pianifica le azioni : Scrivi su carta i passaggi da automatizzare
- Prepara i dati : Testa manualmente la procedura almeno una volta
- Tempo stimato : 15-30 minuti per la prima macro
- Livello di difficoltà : Principiante-Intermedio
⚠️ Attenzione: Le macro modificano i file Excel. Lavora sempre su copie finché non sei sicuro del risultato. Salva i file con macro nel formato
.xlsm(Excel Macro-Enabled Workbook).
Formati file supportati:
| Formato | Estensione | Supporta Macro | Uso consigliato |
|---|---|---|---|
| Cartella macro | .xlsm | Sì | File con macro |
| Cartella standard | .xlsx | No | File senza macro |
| Cartella binaria | .xlsb | Sì | File grandi con macro |
| Componente aggiuntivo | .xlam | Sì | Macro riutilizzabili |
Abilitare la scheda Sviluppo
Per creare macro devi prima rendere visibile la scheda Sviluppo , nascosta di default in Excel.
Windows - Passo dopo passo
Passo 1: Apri le opzioni Excel
- Apri Excel
- Clicca su File (angolo superiore sinistro)
- Seleziona Opzioni (in fondo al menu laterale)
Passo 2: Attiva la scheda Sviluppo
- Nella finestra Opzioni Excel, clicca su Personalizza barra multifunzione (sinistra)
- Nella colonna di destra troverai "Schede principali"
- Spunta la casella Sviluppo
- Clicca OK
Attivazione della scheda Sviluppo su Excel Windows
Risultato atteso: La scheda "Sviluppo" appare ora nella barra multifunzione tra "Visualizza" e "Guida".
macOS - Passo dopo passo
Passo 1: Accedi alle preferenze
- Apri Excel
- Clicca su Excel nella barra menu (in alto)
- Seleziona Preferenze
Passo 2: Modifica barra multifunzione
- Clicca su Barra multifunzione e barra degli strumenti
- Nella scheda "Barra multifunzione", spunta Sviluppo
- Chiudi la finestra
Risultato atteso: La scheda Sviluppo è ora visibile.
✅ Best practice: Lascia sempre visibile la scheda Sviluppo se lavori regolarmente con le macro. Non occupa spazio e rende più rapido l'accesso agli strumenti.
Creare la prima macro con il registratore
Il Registratore di macro è il metodo più semplice per iniziare. Excel osserva le tue azioni e le converte automaticamente in codice VBA.
Esempio pratico: Formattazione automatica report
Creeremo una macro che formatta un report vendite: grassetto all'intestazione, bordi alle celle, totale in fondo.
Passo 1: Prepara i dati
Crea un semplice foglio con:
- Riga 1: Intestazioni (Prodotto, Quantità, Prezzo)
- Righe 2-5: Dati di esempio
Passo 2: Avvia la registrazione
- Vai su Sviluppo > Registra macro
- Nella finestra che appare:
-
Nome macro
:
FormattaReport(senza spazi) -
Tasto di scelta rapida
:
Ctrl+Maiusc+F(opzionale) - Salva macro in : "Questa cartella di lavoro"
- Descrizione : "Formatta report vendite mensile"
- Clicca OK
Finestra di configurazione nuova macro
🔧 Requisito tecnico: I nomi macro non possono contenere spazi o caratteri speciali. Usa il CamelCase:
FormattaReportVenditeo underscore:Formatta_Report.
Passo 3: Esegui le azioni da registrare
Ora ogni tua azione viene registrata. Procedi lentamente:
- Seleziona la riga 1 (intestazioni)
- Applica Grassetto (Ctrl+B)
- Seleziona tutto il range dati (A1:C5)
- Aggiungi Bordi (Home > Bordi > Tutti i bordi)
- Seleziona cella A6
-
Digita
=SOMMA(C2:C5)per il totale - Formatta A6 in Valuta (Home > Formato numero > Valuta)
Passo 4: Interrompi la registrazione
- Vai su Sviluppo > Interrompi registrazione
Oppure clicca il pulsante Interrompi (quadratino blu) nella barra di stato.
Risultato atteso: La macro è ora salvata. Puoi eseguirla su altri dati.
⚠️ Attenzione: Durante la registrazione, anche gli errori vengono memorizzati. Se sbagli, interrompi, elimina la macro e ricomincia. Non usare il mouse per selezionare celle se vuoi che la macro sia flessibile: usa invece Ctrl+Shift+Frecce.
Passo 5: Testa la macro
- Crea nuovi dati su un altro foglio
- Vai su Sviluppo > Macro
-
Seleziona
FormattaReport - Clicca Esegui
Se tutto funziona, i nuovi dati vengono formattati identicamente.
Eseguire e gestire le macro create
Hai creato la macro, ora vediamo tutti i modi per eseguirla e gestirla.
Metodi per eseguire una macro
Metodo 1: Dal menu Macro
- Sviluppo > Macro > Seleziona macro > Esegui
- Più lento ma sicuro per testare
Metodo 2: Tasto di scelta rapida
-
Se hai assegnato
Ctrl+Maiusc+F, premilo direttamente - Metodo più rapido per uso quotidiano
Metodo 3: Pulsante personalizzato
Crea un pulsante nella barra accesso rapido:
- File > Opzioni > Barra di accesso rapido
- In "Scegli comandi da", seleziona Macro
- Trova la tua macro e clicca Aggiungi
- Clicca OK
Metodo 4: Pulsante nel foglio
Aggiungi un pulsante grafico:
- Sviluppo > Inserisci > Pulsante (Controllo modulo)
- Disegna il pulsante sul foglio
-
Nella finestra "Assegna macro", scegli
FormattaReport - Rinomina il pulsante: "Formatta Report"
Pulsante macro inserito direttamente nel foglio di lavoro
Gestire le macro esistenti
Visualizzare e modificare:
- Sviluppo > Macro > Seleziona macro > Modifica
- Si apre l' Editor VBA con il codice generato
Eliminare una macro:
- Sviluppo > Macro > Seleziona macro > Elimina
Copiare macro tra file:
- Apri entrambi i file Excel (.xlsm)
- Sviluppo > Visual Basic
- Nel progetto sorgente, trova il modulo con la macro
- Trascina il modulo nel progetto di destinazione
💡 Suggerimento: Organizza le macro in moduli tematici. Nell'Editor VBA, crea nuovi moduli (Inserisci > Modulo) e raggruppa macro simili insieme.
Introduzione al codice VBA
Dopo aver registrato macro, è utile capire il codice generato per personalizzarlo.
Aprire l'Editor VBA
- Sviluppo > Visual Basic
-
Oppure premi
Alt+F11(Windows) oOption+F11(Mac)
L'Editor VBA mostra:
-
Progetto (VBAProject)
: Struttura del file
-
Moduli
: Contengono il codice delle macro
-
Finestra Codice
: Dove vedi e modifichi il codice
Anatomia di una macro VBA
Ecco come appare il codice della macro
FormattaReport
:
Sub FormattaReport()
'
' FormattaReport Macro
' Formatta report vendite mensile
'
Range("A1:C1").Select
Selection.Font.Bold = True
Range("A1:C5").Select
Selection.Borders.LineStyle = xlContinuous
Range("A6").Select
ActiveCell.Formula = "=SUM(C2:C5)"
Selection.NumberFormat = "$#,##0.00"
End Sub
Spiegazione elementi:
-
Sub FormattaReport(): Inizio della macro (Sub = Subroutine) -
': Commento (testo ignorato dal programma) -
Range("A1:C1"): Seleziona celle A1 a C1 -
.Select: Seleziona l'elemento -
Selection.Font.Bold = True: Applica grassetto -
End Sub: Fine della macro
Modifiche semplici al codice
Cambiare il range:
Sostituisci
Range("A1:C1")
con
Range("A1:D1")
per includere la colonna D.
Cambiare la formula:
Sostituisci
"=SUM(C2:C5)"
con
"=SOMMA(C2:C10)"
per sommare più celle.
Aggiungere un messaggio:
Inserisci prima di
End Sub
:
MsgBox "Report formattato con successo!", vbInformation
Questo mostra una finestra popup quando la macro finisce.
✅ Best practice: Aggiungi sempre commenti al codice con
'per ricordare cosa fa ogni sezione, soprattutto dopo modifiche.
Creare una macro da zero in VBA
Esempio: Macro che inserisce data odierna
-
Apri Editor VBA (
Alt+F11) - Inserisci > Modulo
- Copia questo codice:
Sub InserisciDataOggi()
ActiveCell.Value = Date
ActiveCell.NumberFormat = "dd/mm/yyyy"
End Sub
- Chiudi l'Editor VBA
-
Usa la macro: seleziona una cella e esegui
InserisciDataOggi
Risultato: La data odierna appare nella cella selezionata.
Metodi alternativi per creare macro
Oltre al registratore, esistono altri approcci per creare macro Excel.
Metodo 1: Registrazione con riferimenti relativi
Problema del registratore standard: Registra posizioni assolute (sempre A1, B2, ecc.).
Soluzione: Riferimenti relativi per macro che funzionano ovunque.
Come fare:
- Prima di registrare, clicca Sviluppo > Usa riferimenti relativi
- Avvia registrazione macro
- Esegui le azioni (la posizione iniziale non è fissata)
- Interrompi registrazione
Esempio: Se registri "vai una cella a destra e scrivi TEST" con riferimenti relativi, la macro funziona da qualsiasi cella di partenza.
| Aspetto | Riferimenti assoluti | Riferimenti relativi |
|---|---|---|
| Posizione fissa | Sì (sempre A1, B2...) | No (relativo alla selezione) |
| Flessibilità | Bassa | Alta |
| Uso ideale | Report standard | Operazioni ripetute in punti diversi |
| Difficoltà | Facile | Media |
Metodo 2: Power Query e Power Automate
Per automazioni più complesse, considera alternative:
Power Query:
- Trasformazione dati senza codice
- Ottimo per importazioni ripetute
- Integrato in Excel (Dati > Ottieni dati)
Power Automate (ex Flow):
- Automazione cloud tra applicazioni
- Collega Excel con Outlook, Teams, SharePoint
- Richiede Microsoft 365
Quando usarli:
- Power Query : Pulizia dati da fonti esterne
- Macro VBA : Automazioni complesse dentro Excel
- Power Automate : Workflow tra più applicazioni
Metodo 3: Componenti aggiuntivi con macro predefinite
Installa componenti aggiuntivi con macro già pronte:
- ASAP Utilities : 300+ strumenti Excel
- Kutools for Excel : Oltre 300 funzioni avanzate
- XLTools : Add-in per analisi dati
💡 Suggerimento: Per utenti avanzati, considera Python con libreria
openpyxloxlwingsper automatizzare Excel da script esterni.
Best practices e ottimizzazioni
Segui queste pratiche per creare macro efficienti e sicure.
Sicurezza macro
Configurare livello di sicurezza:
- Sviluppo > Protezione macro
- Seleziona: Disabilita tutte le macro con notifica
- Non usare mai "Abilita tutte le macro" (rischio malware)
Firmare digitalmente le macro:
Per macro distribuite in azienda:
- Ottieni certificato digitale
- Sviluppo > Visual Basic
- Strumenti > Firma digitale
Ottimizzazioni prestazioni
Disabilitare aggiornamento schermo:
Aggiungi all'inizio della macro:
Application.ScreenUpdating = False
E alla fine:
Application.ScreenUpdating = True
Accelera macro su grandi dataset del 50-80%.
Disabilitare calcolo automatico:
Per macro che modificano molte celle:
Application.Calculation = xlCalculationManual
' ... codice macro ...
Application.Calculation = xlCalculationAutomatic
Documentazione e manutenzione
Convenzioni naming:
-
NomeMacroChiaroinvece diMacro1 -
CalcolaPreventivoinvece diCalcolo - Usa verbi d'azione
Commenti utili:
' Autore: Mario Rossi
' Data: 15/01/2026
' Scopo: Formatta report vendite Q1
' Modificato: 20/01/2026 - Aggiunto controllo errori
✅ Best practice: Testa sempre le macro su dati di esempio prima di usarle su dati reali. Mantieni una cartella Excel con "test_macro.xlsm" per esperimenti.
Errori comuni da evitare
Ecco gli errori tipici dei principianti e come risolverli.
1. File salvato in formato .xlsx invece di .xlsm
Errore: "Non è possibile salvare le seguenti funzionalità in una cartella di lavoro senza macro"
Soluzione:
Salva come
.xlsm
:
-
File
>
Salva con nome
- In "Tipo file", scegli
Cartella di lavoro con attivazione macro Excel (*.xlsm)
2. Macro che non trova celle o fogli
Errore: "Errore di run-time '1004': Impossibile ottenere la proprietà Range"
Causa: La macro cerca celle/fogli con nomi diversi.
Soluzione: Usa nomi dinamici:
' Invece di:
Worksheets("Foglio1").Range("A1")
' Usa:
ActiveSheet.Range("A1")
3. Registrazione con selezione mouse
Problema: La macro funziona solo con dati nella stessa posizione.
Soluzione:
Durante la registrazione:
- Usa tastiera invece del mouse (Ctrl+Shift+Frecce)
- Oppure abilita "Riferimenti relativi"
4. Cicli infiniti
Errore: Excel si blocca, non risponde.
Causa:
Ciclo
Do While
senza condizione di uscita.
Prevenzione:
Premi
Esc
o
Ctrl+Pausa
per interrompere.
Soluzione: Aggiungi sempre contatori di sicurezza:
Dim i As Integer
i = 0
Do While condizione
i = i + 1
If i > 10000 Then Exit Do ' Uscita di sicurezza
Loop
5. Non gestire gli errori
Problema: Macro si interrompe improvvisamente con errori criptici.
Soluzione: Aggiungi gestione errori:
Sub MiaMacro()
On Error GoTo GestisciErrore
' ... codice macro ...
Exit Sub
GestisciErrore:
MsgBox "Errore: " & Err.Description, vbCritical
End Sub
6. Macro troppo lente
Causa: Aggiornamenti schermo e calcoli ad ogni modifica.
Soluzione: Vedi sezione "Ottimizzazioni prestazioni" sopra.
7. Cancellare dati per errore
Problema: La macro sovrascrive dati importanti.
Prevenzione:
- Testa sempre su copie
- Aggiungi conferme:
If MsgBox("Vuoi davvero procedere?", vbYesNo) = vbNo Then Exit Sub
⚠️ Attenzione: Le macro non hanno "Annulla" (Ctrl+Z). Le modifiche sono permanenti. Salva sempre prima di eseguire nuove macro.
Domande frequenti
Come posso modificare una macro già registrata?
Vai su Sviluppo > Macro , seleziona la macro e clicca Modifica . Si apre l'Editor VBA dove puoi cambiare il codice. Modifica con attenzione e testa su dati di prova.
Le macro funzionano su Excel Online?
No, Excel Online (versione browser) non supporta macro VBA per motivi di sicurezza. Servono le versioni desktop di Excel per Windows o Mac.
Posso proteggere il codice VBA con password?
Sì. Nell'Editor VBA: Strumenti > Proprietà VBAProject > scheda Protezione > spunta "Blocca progetto per la visualizzazione" e inserisci password. Utile per distribuire macro senza mostrare il codice.
Come condividere un file con macro con altri utenti?
Salva in formato
.xlsm
e invia il file. Gli utenti devono:
1. Abilitare macro quando aprono il file (clicca "Abilita contenuto")
2. Avere impostazioni sicurezza corrette in Excel
Avvisa sempre i destinatari che il file contiene macro.
Posso eseguire macro automaticamente all'apertura del file?
Sì, crea una macro speciale chiamata
Auto_Open
o usa l'evento
Workbook_Open
:
Private Sub Workbook_Open()
MsgBox "File aperto con successo!"
End Sub
Inserisci questo codice nell'oggetto "ThisWorkbook" nell'Editor VBA.
Cosa succede se condivido file .xlsm su Mac?
Le macro VBA funzionano anche su Excel per Mac (dalla versione 2016 in poi). Tuttavia, alcune funzionalità Windows-specifiche potrebbero non funzionare. Testa sempre su entrambe le piattaforme se hai utenti misti.
Come debugging una macro che dà errori?
Nell'Editor VBA:
- Premi
F8
per eseguire riga per riga
- Passa sopra le variabili con il mouse per vederne il valore
- Usa
Debug.Print variabile
per stampare valori nella finestra Immediato
- Aggiungi breakpoint cliccando sul margine sinistro (pallino rosso)
Posso creare macro che funzionano con altri programmi Office?
Sì, VBA funziona anche in Word, PowerPoint, Access. Puoi persino creare macro che comunicano tra applicazioni, ad esempio esportare dati Excel in documento Word.
Le macro rallentano Excel?
No, finché non vengono eseguite. Tuttavia, file
.xlsm
con molte macro possono aprirsi leggermente più lenti. Ottimizza rimuovendo macro inutilizzate e usando tecniche della sezione "Ottimizzazioni prestazioni".
È legale automatizzare Excel con macro al lavoro?
Dipende dalle policy aziendali. Molte aziende incoraggiano l'uso di macro per efficienza, altre le limitano per sicurezza. Consulta il reparto IT prima di distribuire macro nella rete aziendale.
Conclusione
Creare macro Excel è più semplice di quanto sembri e il ritorno in termini di tempo risparmiato è enorme. Abbiamo visto come partire con il registratore automatico per creare macro funzionanti in minuti, senza scrivere codice. Con un po' di pratica, potrai personalizzare il codice VBA per automatizzazioni ancora più potenti.
Ricorda i punti chiave:
- Inizia con compiti semplici e ripetitivi
- Usa il registratore per le prime macro
- Salva sempre in formato
.xlsm
- Testa su copie prima di usare su dati reali
- Aggiungi commenti al codice per manutenzione futura
L'automazione non è solo per programmatori: è uno strumento che chiunque usi Excel regolarmente dovrebbe padroneggiare. Inizia oggi con una piccola macro che ti fa risparmiare 5 minuti al giorno. In un anno avrai recuperato oltre 20 ore di lavoro.
Hai creato la tua prima macro? Condividi nei commenti quale attività hai automatizzato e quanto tempo stai risparmiando!
Risorse utili
Software e strumenti:
-
Microsoft Excel
- Versione ufficiale con supporto macro
-
ASAP Utilities
- Componente aggiuntivo con macro predefinite
Documentazione ufficiale:
-
Guida VBA Excel Microsoft
- Riferimento completo API VBA
-
Sicurezza macro Office
- Documentazione Microsoft sulla sicurezza
Video tutorial:
-
Excel VBA Tutorial ITA - Playlist completa
- Tutorial video in italiano su YouTube
-
Microsoft Excel Training
- Corsi ufficiali Microsoft gratuiti