Sostituire le macro Excel VBA: cosa tenere e cosa spostare
Sostituire le macro Excel VBA ha senso quando un file è diventato un processo aziendale critico: lo usano più persone, solo chi l’ha scritto sa modificarlo oppure smette di funzionare al primo aggiornamento. Le alternative sono tre: script e flussi di Microsoft 365 per automazioni semplici, un database per i dati, un’applicazione vera per i processi con più utenti. Se la macro è personale e funziona, puoi lasciarla stare.
In molte aziende c’è un file che tutti temono: si chiama qualcosa come “gestione_ordini_v7_NON_TOCCARE.xlsm”. L’ha scritto un collega bravo, anni fa, e ogni mese esegue centinaia di operazioni in pochi secondi. Finché funziona, nessuno se ne preoccupa. Poi capita qualcosa.
Perché i file con le macro si rompono
- Blocchi di sicurezza. Microsoft blocca per impostazione predefinita le macro nei file provenienti da internet, perché sono un veicolo comune di virus. Il blocco può riguardare anche i file su cartelle di rete non considerate attendibili, per esempio quando vi si accede tramite indirizzo IP. Così un file ricevuto via email può smettere di funzionare da un giorno all’altro.
- Cambi di PC e di versione. Riferimenti a librerie o controlli che non esistono più, percorsi di cartelle scritti nel codice, differenze tra versioni di Office.
- Excel sul web non le esegue. Le macro VBA non girano in Excel per il web, e su Mac alcune funzioni si comportano diversamente. Se lavori con il browser o su tablet, il problema si presenta presto.
- Cambiamenti nel foglio. Basta inserire una colonna perché una macro scritta male inizi a scrivere nel posto sbagliato, senza segnalare alcun errore.
- Persone. Chi l’ha scritta se ne va, e nessuno osa toccarla. Questo è il rischio di cui parliamo in il software dipende da una sola persona.
Quando conviene lasciarle dove sono
Non tutte le macro vanno sostituite, e Microsoft continua a includere VBA nelle versioni desktop di Excel. Puoi tenerle se:
- le usa una sola persona, per il proprio lavoro;
- producono un risultato che si verifica facilmente;
- se si rompono, si può continuare a mano per qualche giorno;
- non trattano dati critici o personali.
In questo caso, bastano alcune attenzioni: copia del file, qualche riga di spiegazione e la firma digitale della macro o una posizione attendibile, gestita con cura.
Le alternative, a seconda del caso
| Cosa fa la macro | Alternativa da considerare | Attenzione a |
|---|---|---|
| Pulisce e combina dati importati | Power Query, incluso in Excel | Spesso è la sostituzione più semplice, ma richiede di ripensare il flusso |
| Automatizza passaggi su file condivisi nel cloud | Office Scripts e Power Automate | Licenze, e limiti rispetto a VBA |
| Crea report e riepiloghi | Report su un database o strumenti di analisi | Serve avere prima i dati in ordine |
| Interagisce con altri programmi sul PC | Va riscritta come piccolo programma o integrazione | Spesso è la parte più fragile |
| Gestisce un processo con più utenti, moduli e regole | Applicazione web | È un vero progetto, ma risolve il problema |
| Fa da “database” con migliaia di righe | Un database vero | Vedi la nostra guida su Access e cloud |
Office Scripts e Power Automate
Sono l’alternativa più vicina di Microsoft. Secondo la sua documentazione, VBA è pensato per il desktop, mentre Office Scripts è progettato per soluzioni sicure nel cloud e può lavorare con Power Automate, ad esempio per aggiornare un file a orari fissi senza nemmeno aprirlo.
Non è però una sostituzione uno a uno. VBA copre più funzioni di Excel e può interagire con il computer, mentre gli script non hanno accesso al PC e non reagiscono a eventi come il cambiamento di una cella. Servono inoltre licenze aziendali o scolastiche. In genere vanno bene per le automazioni semplici; una macro complessa va ripensata, non tradotta.
Un’applicazione web
Quando più persone devono inserire dati, con regole e permessi, il problema non sono più le macro: è che il foglio di calcolo viene usato come un’applicazione. A quel punto, cambiare il linguaggio delle macro non basta. Ne parliamo in sostituire Excel in azienda.
Come capire cosa fa davvero il file
Prima di cambiare qualsiasi cosa, occorre sapere cosa succede. Può sembrare scontato, ma raramente qualcuno lo sa fino in fondo.
- Osserva l’uso reale. Siediti accanto a chi usa il file, e annota ogni passaggio, compresi quelli fatti a mano prima e dopo la macro.
- Elenca le macro. Spesso un file ne contiene molte, e diverse non si usano più. Tieni solo quelle necessarie.
- Trova le regole. Sconti, arrotondamenti e controlli sono spesso scritti direttamente nel codice o in celle nascoste. Vanno riscritti in una forma che possa leggere chi lavora, non solo chi programma.
- Cerca i collegamenti. File collegati, percorsi di rete, invii di email, esportazioni verso altri programmi.
- Prepara casi di prova. Prendi alcuni casi veri con il risultato atteso. Serviranno per confrontare vecchio e nuovo.
Se chi l’ha scritta non c’è più e il codice è protetto da password, è comunque possibile lavorarci: verifica però di averne il diritto, e di non rompere il file. In ogni caso, chiedi al tuo tecnico di lavorare solo su una copia.
Come sostituire il file senza fermare il lavoro
- Metti al sicuro l’originale e una copia per ogni periodo importante.
- Parti da una funzione. Quella che dà più problemi, o la più semplice per iniziare. Non provare a sostituire tutto il file in una volta.
- Fai convivere le due versioni. Per un po' di tempo, esegui entrambe e confronta i risultati.
- Passa al nuovo quando i numeri coincidono, poi rendi quella parte del file di sola lettura.
- Lascia la possibilità di esportare in Excel: chi vuole fare analisi deve poterle fare.
È il metodo graduale che applichiamo anche ai programmi più grandi, come spieghiamo nella guida alla modernizzazione del software legacy. Abbiamo seguito un caso simile, con un’azienda che lavorava su un Excel condiviso in una cartella di rete e oggi usa una webapp cloud.
E l’AI può riscrivere le macro?
Gli assistenti di AI sono utili per spiegare cosa fa un vecchio codice e per preparare una prima bozza della nuova versione. Sono uno strumento in più, ma non cambiano il lavoro di verifica: una macro convertita può sembrare corretta e sbagliare un arrotondamento. Valgono le cautele descritte in automatizzare i processi aziendali con l’AI, a partire dai dati che invii ai servizi esterni.
Domande frequenti
Microsoft eliminerà VBA da Excel?
La documentazione attuale indica che VBA è incluso nelle versioni desktop di Excel. Non serve quindi agire per paura che sparisca domani. I motivi per cambiare sono altri: sicurezza, condivisione e dipendenza dalle persone.
Le macro sono pericolose?
Possono esserlo, perché hanno accesso completo al computer. Il rischio concreto viene soprattutto dai file ricevuti dall’esterno. Stabilisci regole su chi può abilitarle e fai firmare quelle aziendali.
Quanto costa sostituire un file Excel con macro?
Dipende meno dalle dimensioni del file e più da quante regole contiene e da quante persone lo usano. Alcune parti si risolvono con poco, altre richiedono un’applicazione. I criteri sono in quanto costa rifare un gestionale.