
Per decenni, ogni volta che un utente di Excel aveva bisogno di automatizzare un'attività ripetitiva, la risposta era sempre la stessa: Visual Basic for Applications (VBA). Sebbene incredibilmente potente, VBA richiede conoscenze di programmazione, opera strettamente nell'ecosistema desktop di Microsoft Office e può risultare intimidatorio per i principianti. Oggi esiste un'alternativa moderna e basata sul cloud: Microsoft Power Automate.
Power Automate (precedentemente Microsoft Flow) ti consente di creare flussi di lavoro automatizzati tra le tue app e i tuoi servizi preferiti per sincronizzare file, ricevere notifiche, raccogliere dati e altro ancora. L'aspetto migliore è che non richiede alcuna conoscenza di programmazione per iniziare. In questa guida completa, esploreremo come utilizzare Power Automate per ottenere un'automazione di Excel perfetta senza mai scrivere una singola riga di VBA.
Prima di immergerci nel "come", è importante capire il "perché". Sebbene imparare le Basi di VBA: Il tuo primo programma Excel sia ancora un'abilità preziosa per la manipolazione di fogli di calcolo complessi legati al desktop, Power Automate brilla nel moderno ambiente di lavoro connesso.
Ecco un rapido confronto su quando usare l'uno o l'altro strumento:
| Funzionalità | Excel VBA | Power Automate |
|---|---|---|
| Ambiente | Desktop (principalmente offline) | Basato sul cloud (richiede internet) |
| Curva di apprendimento | Ripida (richiede conoscenze di programmazione) | Dolce (interfaccia visiva drag-and-drop) |
| Integrazioni esterne | Difficili (richiedono API complesse) | Integrazione nativa con centinaia di app |
| Tipi di trigger | Eventi della cartella di lavoro (apertura, clic, modifica) | Eventi esterni (email, invio moduli, webhook) |
Se il tuo obiettivo è automatizzare l'inserimento dei dati da fonti esterne, inviare email automatiche in base ai dati di un foglio di calcolo o connettere Excel a software come Salesforce, SharePoint o Outlook, Power Automate è l'opzione migliore. Tuttavia, se sei strettamente concentrato nell'Automatizzare i report con Excel VBA e nella formattazione su centinaia di file locali, VBA potrebbe ancora detenere il primato.
In Power Automate, una sequenza automatizzata viene chiamata Flusso (Flow). Ogni flusso è composto da tre elementi costitutivi principali:
Per automatizzare con successo Excel usando Power Automate, la tua configurazione deve soddisfare due requisiti fondamentali:
Poiché Power Automate è un servizio cloud, non può interagire in modo affidabile con un file Excel salvato localmente sull'unità `C:` del tuo computer. La tua cartella di lavoro deve essere salvata in OneDrive for Business o in una Raccolta documenti di SharePoint.
Power Automate non può semplicemente inserire dati in un foglio di lavoro vuoto; ha bisogno di confini definiti. Devi formattare il tuo intervallo di dati di destinazione come una vera e propria Tabella Excel. Per farlo:
Esaminiamo uno scenario estremamente pratico: registrare automaticamente le richieste via email in arrivo all'interno di un foglio di calcolo Excel. Questo è un esempio perfetto di Come una startup ha risparmiato 20 ore settimanali con l'automazione di Excel eliminando l'inserimento manuale dei dati.
Crea un nuovo file Excel in OneDrive chiamato "Email_Log.xlsx". Crea una tabella con le seguenti intestazioni (le indicheremo anche in inglese per riferimenti futuri nel codice):
Formatta questo intervallo come Tabella e chiamala "TabellaLogEmail". Chiudi il file.
Accedi a Power Automate (make.powerautomate.com). Sulla barra laterale di sinistra, fai clic su Crea, quindi seleziona Flusso cloud automatizzato.
Chiama il tuo flusso "Registra Email in Arrivo". Nella casella di ricerca "Scegli il trigger del flusso", digita "Outlook". Seleziona Quando arriva un nuovo messaggio di posta elettronica (V3) - Office 365 Outlook e fai clic su Crea.
Nel designer del flusso, fai clic sulla casella del trigger. Qui puoi specificare alcuni parametri, come ad esempio far scattare il trigger solo per le email che contengono un filtro specifico nell'oggetto (es. "Richiesta"). Per questa esercitazione, lasceremo che si attivi per tutte le email in Posta in arrivo.
Fai clic sul pulsante + Nuovo passaggio. Cerca "Excel" e seleziona il connettore Excel Online (Business). Dall'elenco delle azioni, scegli Aggiungi una riga in una tabella.
Ora, mappa il percorso del file:
Dopo aver selezionato la tabella, Power Automate mostrerà automaticamente le intestazioni di colonna create nel Passaggio 1. Fai clic su ogni campo per assegnare il "Contenuto dinamico" (i dati provenienti dal trigger dell'email):
Fai clic su Salva. Ora hai creato un'automazione completamente funzionante senza una sola riga di VBA! Invia un'email di prova al tuo account e guarda la tabella Excel popolarsi automaticamente.
Uno degli avvertimenti di Power Automate è che i dati importati potrebbero non essere formattati esattamente come desideri. Ad esempio, l'Ora di ricezione del nostro esempio verrà importata come un disordinato timestamp ISO 8601 (es. 2023-11-28T14:32:00Z).
Invece di provare ad analizzarlo usando complesse espressioni in Power Automate, puoi affidarti alle formule standard di Excel all'interno della tua tabella. Aggiungi una nuova colonna alla tua tabella Excel chiamata "Data Pulita". Poiché stai usando una Tabella Excel ufficiale, puoi scrivere una formula nella prima riga, la quale si ricopierà automaticamente verso il basso ogni volta che Power Automate aggiunge una nuova riga.
Per estrarre solo la data dal timestamp, puoi usare una combinazione delle funzioni `LEFT` e `VALUE`, applicando poi la formattazione standard:
=VALUE(LEFT([@[Date Received]], 10))
Formatta questa nuova colonna come Data in cifre in Excel. Ora, ogni volta che il flusso viene eseguito, Excel gestisce istantaneamente la trasformazione dei dati.
Puoi anche sfruttare questa opportunità per incrociare i dati in arrivo. Ad esempio, se vuoi controllare se l'email del mittente appartiene già a un cliente esistente in un altro foglio di lavoro, puoi usare INDICE CONFRONTA: Il metodo di ricerca superiore direttamente nella tua tabella automatizzata:
=IFERROR(INDEX(Clients!B:B, MATCH([@[Sender Email]], Clients!A:A, 0)), "New Lead")
Con questa configurazione, il tuo foglio di calcolo diventa un database vivo e pulsante che categorizza i dati automaticamente.
Aggiungere righe alle tabelle è solo l'inizio. Power Automate offre diverse altre potenti azioni di Excel:
Immagina di dover inviare un riepilogo dei dati di vendita ogni venerdì alle 17:00. Puoi creare un Flusso cloud programmato che si attiva settimanalmente. Il flusso può usare "Elenca le righe presenti in una tabella" per estrarre i dati della settimana, utilizzare l'azione sui dati "Crea tabella HTML" per formattarli e quindi inviarli tramite il connettore Outlook. Questa rappresenta un'incredibile alternativa alla complessa reportistica basata su macro.
Per manipolazioni di dati ancora più avanzate prima che questi raggiungano Excel, potresti dare un'occhiata a Power Query: Importare e trasformare i dati come un professionista, che funge da fantastico compagno per Power Automate.
Man mano che crei flussi più complessi, potresti incontrare alcuni ostacoli comuni. Ecco come risolverli:
Se qualcuno ha il file Excel aperto nell'app desktop e non è correttamente sincronizzato con OneDrive, Power Automate potrebbe non riuscire ad aggiungere una riga. Assicurati sempre che il file abbia il Salvataggio automatico (AutoSave) attivo e sia archiviato in un ambiente cloud condiviso per evitare il blocco dei file.
Se elimini la tabella di Excel e la ricrei, Power Automate perderà la connessione, anche se assegni alla nuova tabella lo stesso identico nome. Excel assegna un identificatore univoco nascosto a ogni tabella. Se ricrei una tabella, devi tornare nel tuo flusso, selezionare nuovamente la tabella dal menu a discesa e mappare di nuovo il tuo contenuto dinamico.
Quando utilizzi l'azione "Elenca le righe presenti in una tabella", Power Automate limita il numero di righe restituite a 256 per impostazione predefinita. Se la tua tabella ha 1.000 righe, non le otterrai tutte. Per risolvere questo problema, fai clic sui tre puntini (...) sull'azione, seleziona Impostazioni, attiva Impaginazione e imposta la soglia al numero desiderato (fino a 100.000).
Passare dall'inserimento manuale dei dati a Power Automate richiede un cambiamento nel modo di pensare ai fogli di calcolo. Non stai più solo compilando celle; stai progettando sistemi di dati. Per far sì che questi sistemi funzionino in modo impeccabile, hai bisogno di formule Excel robuste nelle tue tabelle per gestire i dati automatizzati in arrivo.
Se hai mai difficoltà a combinare funzioni come VLOOKUP, INDEX, MATCH, o istruzioni IF nidificate per elaborare i dati inseriti da Power Automate, GPTExcel può aiutarti. Descrivi semplicemente le tue esigenze in linguaggio naturale—ad esempio, "Ho bisogno di una formula che controlli la colonna data automatica e restituisca 'In ritardo' se è più vecchia di 30 giorni"—ed GPTExcel genererà istantaneamente la formula esatta pronta per essere incollata.
Una versione di base di Power Automate è inclusa nella maggior parte degli abbonamenti commerciali e didattici a Microsoft 365. Questo include connettori standard come Excel Online, Outlook e SharePoint. I connettori premium (come Salesforce o API personalizzate) richiedono una licenza premium standalone per Power Automate.
Sì, ma con delle limitazioni. Puoi utilizzare l'azione "Esegui script" in Power Automate per eseguire gli Script di Office (l'alternativa moderna e cloud-based di Microsoft a VBA, scritta in TypeScript). Non può, tuttavia, attivare macro VBA tradizionali `.xlsm` direttamente dal cloud senza utilizzare un complicato gateway dati locale.
I vari trigger hanno intervalli di polling diversi. Mentre alcuni trigger (come la pressione di un pulsante o una richiesta HTTP) si attivano istantaneamente, i trigger di polling (come "Quando viene creato un nuovo file" o "Quando arriva un'email") potrebbero impiegare qualche minuto per riconoscere l'evento, a seconda del tuo livello di licenza Microsoft 365.
Sì! Power Automate non è limitato all'ecosistema Microsoft. Esiste un connettore per Google Sheets completamente supportato che ti consente di aggiungere righe, ottenere righe e aggiornare i dati in Google Workspace, proprio come faresti con Excel Online.
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.