Come automatizzare i fogli Excel

By | 14 Marzo 2019

automatizzare i fogli Excel

In molti continuano a chiedermi come automatizzare i fogli Excel e come usare le macro di Excel Professionale. In questo post cerco di rispondere in modo più esaustivo a queste domande.

Quando automatizzare i fogli Excel?

Iniziamo ribadendo quello che abbiamo già detto nel post “L’automazione di Excel”: nella maggior parte dei casi i fogli di lavoro hanno una vita limitata e non è opportuno spendere tempo per migliorare strumenti che serviranno solo per poche settimane o mesi. Si automatizza un foglio Excel solo quando è utile o necessario farlo.

D’altra parte, come abbiamo valutato nel post “Automatismi pronti per i fogli di lavoro”, se nel tempo, un pezzo alla volta, raccogli macro flessibili e realizzi un bel kit di automazione che ti permette di ridurre sensibilmente tempi e costi, allora perché non farlo? Perché non automatizzare i tuoi fogli Excel?

Per questo durante la progettazione vale la pena pensare le macro che vuoi realizzare in modo che siano flessibili e riutilizzabili. Se e quando possibile, naturalmente.

Automatizzare i foglio Excel

Automatizzare un foglio excel significa installare automatismi in grado di realizzare attività specifiche al posto dell’operatore o degli strumenti preesistenti.

In quest’ultimo caso gli automatismi sono nuovi strumenti che installiamo in Excel per svolgere attività che gli strumenti preesistenti non realizzano, o per svolgere attività già eseguite, ma in modo migliore. Mentre nel primo caso gli automatismi realizzano attività ripetitive specifiche al posto dell’operatore, allo scopo di rendere il foglio più efficiente e far risparmiare tempo. E a quest’ultima categoria appartiene l’80% delle macro.

Automatizzare un foglio Excel in sintesi consiste in:

  1. realizzare gli automatismi,
  2. installare gli automatismi nel foglio Excel.

Nel post “L’automazione di Excel” abbiamo già parlato di come l’automazione di un foglio deve essere considerato come un vero e proprio progetto. Non si parte dallo sviluppo delle macro, ma si parte dall’obiettivo e si realizza quello che hai progettato anticipatamente.

In pratica il processo di automazione segue queste fasi:

  1. definizione e valutazione dell’obiettivo,
  2. analisi del foglio (se già esistente), delle attività e dell’obiettivo,
  3. progettazione dell’automazione (macro, controlli, maschere, ecc)
  4. realizzazione degli automatismi (registrazione, revisione, o sviluppo),
  5. verifica ed eventuale revisione e ottimizzazione degli strumenti,
  6. installazione degli automatismi nel foglio,
  7. verifica dell’impianto ed eventuale revisione e ottimizzazione.

In realtà il processo può cambiare in modo significativo a seconda se:

  1. vogliamo automatizzare un foglio che dobbiamo ancora realizzare, oppure un foglio preesistente già in uso;
  2. se e quanto siamo in grado di sviluppare o realizzare gli automatismi, o di procurarceli da terzi.

L’ideale sarebbe realizzare l’automazione durante la creazione del foglio di lavoro, come parte integrante del progetto del foglio di lavoro, e di sviluppare automatismi su misura.

Automatizzare un foglio preesistente può complicare il processo o renderlo costoso in termini di tempo, specialmente quando il foglio è molto strutturato. Questo per vari motivi, per esempio perché l’automazione può comportare una revisione del foglio stesso, o perché potrebbe essere necessario scrivere più codice per realizzare certe attività.

A questo proposito voglio sottolineare che, anche se con il vba è possibile realizzare quasi tutto quello che vuoi in Excel, anzi in Office, com’è naturale ci sono modi più efficienti di realizzare attività con il codice e modi meno efficienti. Per esempio integrando il vba con gli strumenti avanzati di Excel si possono sfruttare le loro funzionalità o i loro automatismi. Approfondiremo questo argomento in post dedicati.

automatizzare i fogli Excel

Progettare l’automazione

Prima di realizzare le macro è necessario progettarle, per definire con precisione quanto deve essere fatto senza sprecare tempo in modifiche successive o peggio ripetute. Nella “Guida alle macro di Excel” abbiamo già visto in sintesi come si progettano le macro, ma quando parlo di progettare l’automazione di un foglio Excel, mi riferisco a un processo che parte dall’analisi del foglio e delle attività da automatizzare per arrivare fino alla progettazione dei controlli con cui lanciare gli automatismi.

La progettazione di solito consiste ne:

  1. l’analisi del foglio/attività da automatizzare, secondo l’obiettivo definito,
  2. la definizione dei risultati attesi, anche di quelli intermedi e accessori,
  3. la definizione delle attività per raggiungerli,
  4. la definizione dei singoli automatismi, attraverso la definizione e la risoluzione dei singoli algoritmi,
  5. questo conduce alla produzione di una mappa di attività con input/output, condizioni iniziali e di lavoro e gestione delle alternative,
  6. che dovremmo ottimizzare e poi trasformare in codice.

Le macro sono la parte centrale del progetto e devono essere pensate singolarmente, ma nell’economia del progetto generale.

Non è necessario conoscere il vba per progettare le macro, ma è d’aiuto. Una conoscenza base del linguaggio o della programmazione permette di realizzare progetti che possono essere realizzati al miglior rapporto costo/risultato, che hanno meno lacune e meno bisogno di essere ottimizzati.

visual basic editor

Produrre le macro

Produrre le macro in Excel di solito consiste nel prendere il progetto e:

  1. realizzare le macro personalmente, scrivendole se conosciamo il vba o creandole con il registratore di excel,
  2. oppure revisionare macro preesistenti per adattarle al progetto o al foglio, attraverso il visual basic editor,
  3. far realizzare o modificare le macro appositamente a una terza parte, secondo specifiche precise.

Se conosci il vba, puoi realizzare i tuoi automatismi e non dovresti leggere questa piccola guida. Se sei un principiante del vba ti invito migliorare la tua competenza secondo i tuoi bisogni. Se sai come si utilizza il registratore di macro puoi creare automatismi che, per quanto limitati, possono automatizzare i tuoi fogli.

E se le macro non le sai realizzare?

Come abbiamo già considerato nel post “Automatismi pronti per i fogli di lavoro”: o impari a farle, studiando il vba, o almeno imparando a usare il registratore di macro, oppure le macro le trovi già pronte, sperando che siano flessibili e ben fatte, ma comunque devi imparare almeno a installarle e a gestirle. Oppure le fai fare a qualcun altro, paghi soldi per evitare di spendere tempo a studiare il vba, ma anche in questo caso, se non vuoi dipendere del tutto da altri dovresti imparare a gestire e installare le macro.

Se possiedi già delle macro con cui automatizzare i tuoi fogli, allora puoi usarle come sono, ma spesso può essere necessario modificarle per adattarle al foglio o alle attività che vuoi automatizzare. Per farlo in modo efficace hai bisogno di conoscere il linguaggio vba, almeno le basi, per intervenire sul codice. In alternativa puoi sempre chiedere ad altri di modificarle al tuo posto.

Studiare il vba

Se vuoi approfondire l’argomento dello sviluppo delle macro, per esempio per valutare se è vantaggioso spendere tempo nello studio del vba, ti invito a leggere queste guide:

  1. la guida alle macro di Excel, le routine con cui possiamo automatizzare i fogli Excel,
  2. la guida al linguaggio Vba, il linguaggio con cui sono scritte le macro di Office,
  3. la guida al registratore di macro, lo strumento di Excel con possiamo realizzare macro in modo semplice, senza conoscere il vba,
  4. la guida all’editor vba, l’ambiente di sviluppo integrato con cui realizziamo e gestiamo gli automatismi.

Ti invito anche a vedere questo tutorial sul registratore di macro per imparare di più sull’uso del registratore di Excel per creare macro per automatizzare i tuoi fogli. Infine ti invito a vedere anche questo tutorial se vuoi approfondire la conoscenza dell’editor vba.

Macro di excel

Come si installano le macro nei fogli Excel?

Nel post “Automatismi pronti per i fogli di lavoro” abbiamo visto che il modo più semplice è farti preinstallare le macro in un foglio Excel già pronto, con i controlli predisposti, che usi come base di partenza per realizzare i tuoi fogli di lavoro. In questo modo gli automatismi sono già presenti e utilizzabili.

L’alternativa è di quella di imparare a installare moduli e posizionare controlli. Attività meno complesse di quello che può sembrare. Per farlo devi conoscere almeno le basi di Excel. Adesso ti spiegherò come farlo nel modo più semplice.

1. Predisporre Excel per le macro

Prima di lavorare con le macro è necessario:

  1. abilitare la scheda sviluppo sulla barra multifunzione;
  2. regolare le impostazioni sulla sicurezza per abilitare il funzionamento delle macro;
  3. salvare i file excel che contengono le macro in formato xlsm.

Scheda “Sviluppo”

La scheda non viene visualizzata stabilmente nella barra multifunzione per impostazione predefinita. È possibile renderla sempre presente in questo modo:

  1. clicca con il pulsante destro del mouse sulla barra multifunzione, per far apparire il menù relativo,
  2. clicca sul comando “Personalizzazione barra multifunzione”, per far comparire la finestra dedicata,
  3. nella parte destra, sotto a “personalizza barra multifunzione”, “schede principali”, cerca e tagga la scheda “sviluppo”,
  4. clicca sul pulsante OK per confermare e tornare alla pagina.

Impostazioni protezione

Se Excel ha ancora le impostazioni di protezione di base non puoi usare le macro. Per poter lavorare devi modificare le impostazioni di sicurezza relative alle macro, in questo modo:

  1. vai alla barra multifunzione, seleziona la scheda “Sviluppo”, nel gruppo “Codice” della scheda clicca sul comando “Sicurezza macro”, si aprirà direttamente la finestra del centro protezione dedicata alle macro,
  2. tra le 4 alternative clicca su “Disabilita tutte le macro con notifica”, manterrà il controllo sulla presenza di macro nei fogli nuovi e ogni volta che aprirai un foglio con macro il sistema ne bloccherà l’uso e te lo notificherà, dandoti la possibilità di assegnare il permesso di lanciarle alla successiva apertura; in tal caso le volte successive il foglio non verrà bloccato e le macro saranno subito utilizzabili.
  3. premi Ok per confermare.

Formato xlsm

Nelle ultime versioni di Excel le macro possono essere conservate in file xlsm o xlsb, nei formati più vecchi possono essere conservate nei file xls. Di base se cerchi di salvare un file con una macro, se il formato non è uno di quelli citati, Excel ti inviterà a salvarlo in formato xlsm. Quindi prima di installare macro nei tuoi fogli:

  1. fai una copia di backup del foglio, fallo sempre prima di modifiche importanti;
  2. salva il foglio nel formato xlsm, usando il comando “Salva con nome” della scheda “File”, o più semplicemente premendo F12.

2. Installa gli automatismi

Per installare le macro nel tuo foglio Excel devi importare i moduli che le contengono (file .bas) salvati esternamente nella tua cassetta degli attrezzi, in questo modo:

  1. prendi familiarità con l’editor vba leggendo la guida su ExcelProfessionale,
  2. seleziona il foglio Excel e premi Alt+F11 per aprire il visual basic editor,
  3. premi Ctrl+M (oppure clicca sul menu “File” e sul comando “Importa file”),
  4. seleziona il file con il modulo che vuoi importare (per esempio uno di quelli di Excel Professionale),
  5. clicca su ok per importare il file, che comparirà nella finestra dei progetti (in alto a sinistra), e si aprirà della finestra del codice.

Se invece devi installare una singola macro, procedi come segue:

  1. prendi familiarità con l’editor vba leggendo la guida su ExcelProfessionale,
  2. apri il foglio in cui vuoi installare la macro e il foglio con la macro installata,
  3. premi Alt+F11 per aprire il visual basic editor,
  4. cerca il modulo con la macro nella finestra progetti, in alto a sinistra, nel file excel con la macro installata che hai aperto,
  5. seleziona il codice della macro con il mouse (clicca con il pulsante sinistro del mouse, tieni premuto, muovi il mouse verso il basso per selezionare tutte le righe),
  6. premi Ctrl+C per copiare il testo,
  7. vai al modulo in cui vuoi installare la macro (se necessario creane uno cliccando sul menù “Inserisci” e sul comando “Modulo”),
  8. premi Ctrl+V per incollare il codice della macro.

3. Posiziona un controllo per le tue macro

Il modo veloce per installare un controllo con cui lanciare una macro su una pagina excel è il seguente:

  1. vai alla scheda “Inserisci” della barra multifunzione, clicca sul comando “Forme”, poi scegli e clicca su una forma (es: un rettangolo),
  2. vai sulla pagina in cui vuoi installare il controllo, clicca con il pulsante sinistro del mouse, tieni premuto e dimensiona la forma, per poi rilasciare il pulsante e installare la forma,
  3. imposta layout e caratteristiche della forma come preferisci usando i comandi della scheda “Formato” della barra multifunzione,
  4. clicca con il pulsante destro sulla forma per aprire il menu contestuale,
  5. clicca su “Assegna macro” per aprire la finestra omonima,
  6. seleziona la macro dalla lista,
  7. clicca sul pulsante “Ok” per assegnarla.

Ora sei in grado di installare le macro nei tuoi fogli Excel.

Per avere un ulteriore aiuto su come si procede ti invito a guardare questo video:

Le macro di Excel Professionale

Excel professionale ha condiviso diverse decine di macro (qui e qui) propedeutiche a tutorial e corsi di vba e automazione. Queste macro hanno scopi didattici, ma sono pienamente funzionanti, quindi utilizzabili per automatizzare i nostri fogli di lavoro, allo scopo di risparmiare tempo e migliorare la qualità del lavoro che svolgi. Sono utili anche a imparare ad automatizzare i tuoi fogli Excel.

Per ottenerle devi andare a questa pagina, e registrarti attraverso il form predisposto. Riceverai una mail con i collegamenti che ti permetteranno di scaricare i moduli con le macro e il foglio Excel con gli automatismi preinstallati.

Ti invito a utilizzarle come spiegato sopra, a importarle nei tuoi fogli excel e a creare i controlli a cui agganciare le singole macro.

Tra le molte macro utili e flessibili che puoi installare nei tuoi fogli, puoi trovare:

  1. Crea pagine base” che crea una pagina “Dati” con una tabella Excel pronta in cui caricare la base dati su cui lavorare, una pagina “Pivot” con una pivot impostata sulla base dati e un grafico pivot collegato;
  2. Crea pivot” che predispone una pagina con una tabella pivot, agganciata dalla tabella excel che indicherai, e un grafico pivot con cui eseguire analisi o su cui costruire report;
  3. Crea Pannello di Comando” crea un pannello di comando elementare pronto da configurare;
  4. Maschera Inserimento” crea un set di pagine per l’inserimento manuale dei dati, soggetto ai controlli configurabili;
  5. Importa foglio” importa tutte le pagine da un foglio esterno aperto;
  6. Stampa grafici” stampa tutti i grafici del foglio di lavoro;
  7. Salva una copia” esegue una copia di backup del foglio di lavoro nella stessa cartella.

Per avere un’idea più precisa delle funzioni delle macro condivise finora ti invito a guardare questo video:

Conclusioni

Come hai visto installare macro e controlli è piuttosto semplice in fondo, più complessa invece è la realizzazione degli automatismi. Per realizzare macro intelligenti e flessibili, o per modificarle per adattarle ai nostri bisogni dobbiamo conoscere il linguaggio vba.

In alternativa possiamo usare le macro registrate create con il registratore di macro, piuttosto limitate, ma semplici da realizzare. Oppure possiamo usare macro ottenute da altri, ma che dobbiamo saper installare e usare.

Per ottenere il meglio dall’automazione di Excel devi imparare il vba, competenza che richiede decine di ore di studio e centinaia di ore di esercizi e lavoro. A un utente normale di Excel sconsiglio di spendere tempo per questo e gli consiglio di dedicarlo allo studio degli strumenti avanzati di Excel, sempre più performanti e automatizzati.

Invece a chi usa Excel per molto tempo, diciamo tre ore la settimana, anzi almeno un’ora al giorno, consiglio di valutare la possibilità di apprendere il vba almeno a livello base, perché il risparmio di tempo ottenuto con l’automazione ripagherebbe il tempo speso nell’apprendimento. Naturalmente il vantaggio effettivo è da valutare caso per caso.

 

PS: Se ancora non l’hai fatto ti invito a iscriverti a Excel Professionale per ricevere i contenuti gratuiti pubblicati, soprattutto le macro didattiche che potranno aiutarti nello studio del vba. Puoi farlo anche attraverso la maschera qui sotto.

 

 

PSS: Se questa guida ti è piaciuta o ti è stata utile, condividila 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.