Cosa si può fare con l’automazione di Excel

By | 20 Giugno 2019

Cosa si può fare con l’automazione di ExcelCosa si può fare con l’automazione in Excel? Cosa si può automatizzare? A quale scopo? Con quali vantaggi? Con quali costi? A chi serve? Questo post vuole rispondere a diverse domande sull’automazione e in generale sull’utilità del vba e degli strumenti che possiamo realizzare.

Cos’è l’automazione di Excel

Nel post “L’automazione di Excel” abbiamo visto come tutte le attività ripetitive su Excel possono essere automatizzate, riducendo notevolmente i tempi di gestione. D’altra parte il foglio di lavoro potrebbe essere automatizzato in modo esteso e avanzato, fino a far sparire la maggior parte delle pagine, a usare maschere con pulsanti e comandi per l’esecuzione delle macro che non si limitano a svolgere attività su oggetti predefiniti, ma che creano ogni volta le pagine di analisi, i grafici e i report relativi. Come un programma sviluppato specificatamente.

È necessario automatizzare i fogli Excel?

Naturalmente no, Excel è un foglio di calcolo che lavora in modo semiautomatico: l’operatore deve svolgere le attività di creazione del foglio di lavoro e di gestione degli strumenti, mentre questi svolgono in modo più o meno automatizzato le attività relative. Quindi Excel può essere usato senza alcuna automazione personalizzata, sfruttando quella degli strumenti che con il passare del tempo sono sempre più evoluti.

È utile automatizzare un foglio di lavoro?

Come abbiamo già visto nel post “Le novità 2019 per Excel 365”, Microsoft conferma la sua volontà di rendere Excel 365 sempre più comodo, efficiente e semplice da usare, anche con l’applicazione dell’intelligenza artificiale.

D’altra parte l’automazione permette di ridurre notevolmente il tempo di impiego dei fogli e offre la possibilità di realizzare nuovi strumenti personalizzati. Quindi chi lavora per molte ore sul foglio di calcolo e chi ha bisogno di realizzare strumenti migliori o personalizzati, non può non considerare le opportunità offerte dall’automazione di Excel.

Cos’è una macro di Excel?

Semplificando l’automazione di Excel consiste nel realizzare macro in linguaggio vba che svolgano attività per ottenere risultati specifici. Come per esempio svolgere al posto nostro le attività di utilizzo e gestione del foglio necessarie per ottenere i risultati attesi.

Come spiegato nella “Guida alle macro di Excel”, il termine “macro” a livello informatico indica una procedura, cioè un insieme di comandi e istruzioni svolti durante l’esecuzione di un programma. Le macro permettono di realizzare una serie di attività con un singolo comando, quello dell’esecuzione dell’automatismo.

Quindi una macro non è che una lista di istruzioni che Excel svolge al posto nostro realizzando sequenze di attività. Tra queste ci sono tutte le attività che svolgiamo dentro l’ambiente di Excel, anzi dentro tutti gli applicativi del pacchetto office, ma non solo.

Le macro vengono realizzate principalmente per:

  1. svolgere attività ripetitive (al posto dell’operatore);
  2. creare nuovi strumenti, funzioni e comandi da aggiungere a quelli preesistenti.

Questi sono gli usi principali, che riguardano il 97% degli impieghi delle macro, ma possono essere usate per la gestione di strumenti avanzati, come le userform, per migliorare l’esperienza d’uso di Excel, per esempio fornendo automatismi “autonomi” o migliorando quelli degli strumenti del foglio di calcolo, e altro ancora.

Cosa si può fare con le macro di Excel

Cos’è il Vba?

Come abbiamo già spiegato nella “Guida al Vba”, Vba è l’acronimo di Visual Basic for Application e in sintesi è l’utilizzo del Visual Basic per la realizzazione e l’esecuzione di routine dentro l’ambiente di lavoro di Microsoft Office.

Il Visual Basic è il linguaggio a oggetti realizzato da Microsoft all’inizio degli anni 90 per la creazione di programmi per windows, il suo sistema operativo, derivato a sua volta dal vecchio Basic. Nel 1992 Microsoft rilasciò il Visual Basic e nel 1995 impose un linguaggio standard di programmazione per i suoi software a partire dall’Office: il Visual Basic for Applications. Nel 2008 Microsoft ha abbandonato il visual basic per linguaggi più performanti, ma il Vba dopo 20 anni è ancora presente e utilizzato direttamente e indirettamente da molte decine di milioni di utenti nel mondo.

A cosa serve il vba? A realizzare automatismi.

Cosa si può fare con macro e vba?

Cerchiamo di chiarire quali sono le possibilità che offre la conoscenza del vba e degli strumenti e metodi per l’automazione di Excel. Con macro e vba possiamo:

  1. automatizzare gruppi di attività ripetitive, con lo scopo di risparmiare tempo,
  2. costruire nuove funzioni e strumenti di elaborazione,
  3. creare nuovi strumenti di gestione per Excel,
  4. lanciare automatismi in modo autonomo,
  5. automatizzare tutte le attività svolte nel foglio, eccetto quelle decisionali e creative,
  6. gestire e interagire con il foglio solo con userform e controlli,
  7. trasformare il foglio Excel in un applicativo,
  8. costruire addins per Excel con strumenti specifici.

E altro ancora. Naturalmente avere la possibilità di farlo non significa che sia opportuno o utile spendere tempo o risorse per farlo.

Vediamo qualche esempio.

come automatizzare i fogli di lavoro

 

Automatizzare le attività ripetitive

Le macro sono strumenti che svolgono attività al posto nostro e ci permettono di dedicare il tempo per cose più importanti. Questo è l’uso più diffuso di macro e vba, perché porta vantaggi concreti e immediati, anche a bassi livelli di competenza. Già imparare a usare il registratore di macro al meglio, permette di automatizzare i fogli, in modi spesso poco efficienti, ma con risparmi concreti di tempo.

Risultati più significativi sono ottenibili con una competenza di base sul vba, sufficiente a sviluppare procedure flessibili che svolgano buona parte delle attività lavorative che realizziamo sui fogli. Mi riferisco alla gestione di output e input, ai controlli sui dati e sugli oggetti, alla creazione di report e all’aggiornamento di dashboard, alla gestione di semplici strumenti su pagina e a un’ampia serie di attività accessorie.

Volendo fare qualche esempio, mi riferisco alla produzione di stampe e pdf, a invii via mail, a trasferimenti di grafici a word o powerpoint, all’importazione di dati da fonti esterne. Come anche a un numero impressionante di controlli sui dati in celle e tabelle (errori, valori imprevisti, record doppi, ecc), alla possibilità di aggiornare e gestire in automatico tabelle, pivot, filtri, grafici e via dicendo.

Alla possibilità di creare in automatico report su pagina, da una piccola tabella riassuntiva alla produzione di report periodici da integrare nelle nostre relazioni, come alla possibilità di automatizzare maschere di inserimento, ricerca e gestione.

Tutto questo può essere fatto con macro semplici, di primo livello, che usano dichiarazioni degli oggetti, metodi e proprietà più comuni, un centinaio al massimo, e i comandi del vba più usati per la gestione del flusso e le interazioni, come msgbox, inputbox, for/next, if/then, eccetera.

Con 40–80 ore di studio e pratica è possibile ottenere risultati significativi, e con l’assistenza di un corso di qualità o di un tutor è possibile ridurre notevolmente questo tempo.

Costruire nuove funzioni e strumenti di elaborazione

Una macro si distingue in funzioni e routine. Le funzioni sono macro che svolgono elaborazioni specifiche su parametri ricevuti o variabili pubbliche con l’unico scopo di restituire un valore. Con il vba possiamo realizzare strumenti analoghi alle funzioni di Excel, con cui eseguiamo calcoli anche complessi, e che possiamo usare nelle formule richiamandone il nome. Delle vere e proprie funzioni dell’utente.

Ma al di fuori di certi ambiti lavorativi specifici, Excel offre già tutte le funzioni che servono per elaborare i dati e non c’è più un reale bisogno di nuove funzioni, se non per semplificare o rendere più efficiente quelle preesistenti.

Oltre alle funzioni utente, con cui possiamo eseguire calcoli, cercare valori, estrarre o elaborare porzioni specifiche dal contenuto di celle, matrici o tabelle, il vba permette di creare funzioni avanzate e strumenti di elaborazione in grado di svolgere sequenze di calcoli, specifici, e allo stesso tempo di eseguire controlli sui parametri e gli input richiesti e di produrre output più complessi del semplice valore, per esempio tabelle, matrici di valori o grafici.

Mi riferisco a strumenti analoghi per esempio agli strumenti di analisi, al risolutore o alle simulazioni. Che di solito richiedono maschere di gestione su pagina o userform per l’interazione con l’operatore.

Le funzioni richiedono una buona conoscenza del vba e di Excel, della gestione delle variabili, delle funzioni del vba e di come gestire flussi i dati. Quindi richiedono una decina di ore di studio e pratica in più rispetto alle competenze di base.

Invece la realizzazione di strumenti di elaborazione avanzati richiede una conoscenza intermedia se non avanzata del vba e degli strumenti di automazione, oltre che la conoscenza avanzata di Excel.

macro vba per l' automazione di Excel

Creare nuovi strumenti di gestione per Excel

Cosa intendo per strumenti di gestione? Intendo strumenti creati da noi, realizzati su pagina o su userform con cui possiamo gestire o eseguire specifiche attività che gli strumenti di excel non svolgono. O che abbiamo bisogno di gestire in modo più efficiente.

Strumenti di gestione sono, per esempio, barre di navigazione o indici per muoverci tra le pagine, piuttosto che pannelli di comando con cui controllare gli automatismi, o maschere su pagina o userform, per l’inserimento, la ricerca, il controllo, l’elaborazione, la stampa, la condivisione, eccetera.

Sono di solito composti da controlli disposti su pagina o su userform, realizzati con i controlli activeX, piuttosto che pulsanti e forme, menu realizzati con la convalida dei dati, nomi, formule e funzioni, eccetera.

Gli strumenti permettono di svolgere attività specifiche in modo facilitato e assistito, come trasferire o cercare dati, elaborare o filtrare dati, eseguire macro o controlli, muoversi tra le pagine e gli oggetti, e molto altro. Naturalmente questi strumenti devono essere utili e portare vantaggi significativi e concreti, per esempio di tempo o di riduzione della complessità di gestione del foglio.

Il vba permette di automatizzare questi strumenti, rendendoli utili e pratici. Le competenze richieste possono essere molto diverse a seconda della complessità delle attività svolte e degli strumenti impiegati. Una competenza di base è di solito sufficiente per la maggior parte degli strumenti su pagina, per l’impiego di userform e dei controlli relativi è invece necessaria una competenza intermedia se non avanzata. All’incirca 30–60 ore in più di studio e pratica.

Lanciare automatismi in modo autonomo con gli eventi

Il vba e gli strumenti dell’automazione di Excel permettono anche di installare macro e di eseguirle in modo autonomo, su “eventi” specifici determinati dall’interazione dell’operatore con il foglio Excel, regolati dal codice stesso.

In pratica è possibile far svolgere a excel attività automatiche specifiche senza bisogno di usare controlli su pagina o maschera o barra multifunzione. Per esempio per l’aggiornamento di oggetti (maschere, pagine, ecc), per la manutenzione del foglio, per la rimozione di dati, pagine o strumenti superflui, per eseguire backup e salvataggi, per offrire una guida l’operatore e molto altro.

La conoscenza degli “eventi” di Excel è solo a prima vista un argomento semplice, per sfruttarne pienamente le potenzialità è necessario almeno una decina di ore di studio e pratica di strumenti e metodi di impiego. D’altra parte è importante sottolineare che questo tipo di automazione avanzata è usato su fogli di lavoro importanti, di lunga durata o riutilizzati frequentemente.

Automatizzare tutte le attività

Quando il foglio Excel è uno strumento “permanente” o di lunga durata e si hanno a disposizione competenze di vba intermedie o avanzate, allora può valere la pena automatizzare tutte le attività che l’operatore svolge sul foglio.

Nella maggior parte dei casi non è opportuno nè consigliabile fare l’automazione totale, in quanto il tempo necessario per l’automazione difficilmente si ripaga. Talvolta però vale la pena, per esempio se lo strumento ha una vita lunga e deve essere utilizzato da persone con basse competenze.

Naturalmente non si automatizzano tutte le attività, ma quell’80% di attività principali che sono automatizzabili, non quelle decisionali complesse, né quelle creative. L’obiettivo è affidare pienamente all’automatismo le attività principali svolte dall’operatore.

Casi tipici sono fogli con dashboard con cui si seguono indicatori aziendali per lungo tempo, soprattutto se condiviso con persone con bassa competenza. Oppure fogli Excel per la produzione di report periodici, o meglio per la produzione di grafici e tabelle destinati a report periodici. In entrambi i casi le attività ripetitive sono semplici e prevalenti e possono essere automatizzate senza troppo sforzo.

L’automazione totale richiede una competenza intermedia del vba, per essere in grado di codificare tutte le attività necessarie, e richiede almeno una ventina di ore di studio e pratica di metodi e proprietà e dei comandi del linguaggio.

Gestire i fogli solo con userform e controlli

Chi conosce il vba e gli strumenti dell’automazione a livello avanzato è in grado di automatizzare in modo esteso i fogli di lavoro e di usare le userform, le maschere utente come piattaforme per la gestione ed esecuzione degli automatismi.

Su userform e maschere ti invito a leggere questa breve introduzione. Le maschere sono strumenti dedicati all’automazione di excel, piattaforme flessibili di strumenti di controllo con cui possiamo svolgere in automatico attività che realizziamo sulla pagina o con gli strumenti in dotazione a Excel.

Se l’automazione del foglio è estesa e avanzata, allora permettono di gestire il foglio senza più usare i comandi di Excel e riducendo al minimo l’interazione con gli oggetti del foglio di calcolo.

Di solito non è opportuno nè consigliabile automatizzare in questo modo i fogli, in primo luogo perché il costo di tempo è considerevole e difficilmente verrà ripagato, in secondo luogo perché ciò che può essere posto in una userform può essere installato anche in una pagina di Excel.

Talvolta, quando la tua esperienza è notevole e la tua cassetta degli attrezzi contiene una rilevante collezione di macro e maschere pronte all’uso, allora ha senso usarli per automatizzare strumenti di lungo impiego. Ma questo prevede centinaia di ore di studio e pratica e la preparazione di strumenti pronti.

L'automazione di Excel con macro e vba

Applicativi e componenti aggiuntivi

Quando la nostra conoscenza di Excel e del vba è avanzata, allora siamo in grado di trasformare i fogli di lavoro in veri e propri applicativi. Strumenti tanto automatizzati che non solo sono gestiti prevalentemente o completamente da userform, ma che creano gli strumenti necessari alle attività (pivot, tabelle, grafici, ecc) quando servono e li rimuovono quando non servono più.

Possiamo trasformare i nostri fogli di lavoro in applicativi, ma non ha senso farlo. Per i costi, l’utilità, eccetera, ma soprattutto perché per realizzare applicazioni, soprattutto nell’era del web e del mobile, ci sono diversi linguaggi, ambienti di sviluppo e strumenti, più moderni, efficaci ed efficienti.

Per completare il cerchio delle potenzialità dell’automazione di Excel, aggiungo che con l’automazione di Excel è possibile realizzare componenti aggiuntivi installabili che aggiungono strumenti a quelli preesistenti. L’argomento è complesso e avanzato e richiederebbe una guida apposita. Per maggiori informazioni sui componenti aggiuntivi di Excel ti invito a leggere la guida relativa.

Ha senso investire nell’automazione di Excel?

L’automazione di Excel costa in termini di tempo e impegno. Tempo per studiare il vba e per fare pratica, tempo per sviluppare macro e strumenti. Parliamo di decine se non centinaia di ore. Ha senso spendere questo tempo?

Solo se i risultati ripagano lo sforzo. Questo nella maggior parte dei casi significa risparmiare tempo e lavoro. Investi tempo per apprendere competenze e realizzare macro perché dopo risparmierai decine o centinaia di ore di lavoro su Excel.

Ed è questo il motivo principale che spinge milioni di utenti nel mondo a studiare il vba: fa risparmiare tempo.

Naturalmente l’alternativa è pagare chi già conosce l’automazione, compri tempo con i soldi, ma il principio è lo stesso. Però ogni qualvolta avrai bisogno di lavorare sull’automazione dovrai pagare nuovamente.

In modo analogo è possibile spendere denaro in strumenti alternativi a Excel, che soddisfino il nostro bisogno di risparmiare tempo con una maggiore efficienza. Quindi ha senso investire in automazione di Excel se questo porta vantaggi concreti e misurabili e non ci sono alternative migliori.

Naturalmente come abbiamo visto non è l’unico motivo per studiare il vba, potremmo avere bisogno di realizzare strumenti nuovi personalizzati per excel, ma anche in questo caso, come per le altre motivazioni che possono spingerci allo studio dell’automazione, quello che conta è l’utilità. I vantaggi sono significativi? Ci sono alternative migliori?

Conclusioni

Abbiamo visto cosa si può fare con l’automazione in Excel: realizzare routine che svolgano al nostro posto attività ripetitive, costruire nuove funzioni e strumenti di elaborazione, nuovi strumenti di gestione, far eseguire gli automatismi in modo autonomo, automatizzare in modo esteso i nostri strumenti e perfino arrivare a gestire il foglio tramite maschere, come fosse un applicativo.

D’altra parte per fare automazione dobbiamo diventare competenti, imparare il vba e l’uso degli strumenti di sviluppo. E questo richiede tempo, un investimento che ha senso se si ripaga, almeno in tempo risparmiato, la cosa più preziosa della nostra vita, da dedicare alle cose importanti.

Per questo consiglio a chi per qualunque motivo usa Excel nel lavoro per molto tempo, almeno un’ora al giorno, di imparare il vba per automatizzare i propri fogli Excel.

 

 

PS: Se questo post ti è piaciuto o ti è stato utile, condividilo con gli amici sui social.

Puoi farlo attraverso i pulsanti qui di seguito. Grazie

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.