Automatismi pronti per i fogli di lavoro

By | 8 Gen 2018

AutomatismiDopo aver ricevuto il modello automatizzato che ho inviato a fine anno agli iscritti alla nostra piccola comunità, Andrea mi ha fatto una domanda: “È possibile realizzare automatismi universali e applicarli a ogni foglio di lavoro quando ne abbiamo bisogno?”. Visto l’interesse che anche altri hanno espresso per l’argomento lo approfondiamo in questo post.

Naturalmente come sai o hai già intuito la risposta è: sì, possiamo realizzare automatismi flessibili e applicarli ai fogli di lavoro di excel che lo richiedono.

Anzi se lavori frequentemente con Excel, immagino che nella tua “scatola degli attrezzi”, accanto ai modelli e ai fogli di lavoro, tu abbia anche il kit per l’automazione o lo sviluppo. Macro e form salvate come file da caricare nei fogli di lavoro o preimpostate in modelli pronti.

Per quanto mi riguarda negli anni ne ho realizzati e collezionati un bel numero e nel tempo li ho modificati e selezionati per la praticità, l’utilità e la flessibilità. Quando devo automatizzare un foglio di lavoro, di solito carico “pacchetti pronti” che richiedono poco tempo per configurazione e impostazione.

Automatismi pronti

Gli automatismi pronti possono essere composti da:

  1. una o più macro che replicano comandi di excel (come chiudi, stampa, aggiorna, ecc), o gruppi di comandi (come salva e chiudi, salva con nome e stampa);
  2. una o più macro che svolgono attività specifiche che non richiedono o richiedono interazione minima (per esempio, aggiorna tutte le pivot del foglio di lavoro, lancia query per l’estrazione dei dati dal server);
  3. una o più macro che svolgono attività specifiche che richiedono interazione con l’operatore (per esempio esegui controlli estesi sui dati, esegui l’aggiornamento della dashboard, esegui ricerche e/o estrazioni suoi dati su richiesta dell’operatore)
  4. macro e maschere preimpostate per svolgere attività relativamente generiche (per esempio una maschera per la navigazione veloce tra le pagine, una maschera per il controllo generico con funzioni base, una maschera per la gestione delle stampe);
  5. macro e pagine excel, impiegate come pannelli di controllo o per la configurazione dei parametri necessari o in sostituzione delle maschere (usate per esempio per la gestione minima del foglio di lavoro o come base di automatismi personalizzati);
  6. macro, pagine excel e maschere preimpostate per svolgere attività specifiche e complesse (per esempio per eseguire analisi sui dati, per la gestione di report o di dashboard).

Quindi gli automatismi possono andare da una singola macro di una decina di righe di codice che per esempio salva e chiude il foglio di lavoro, utilizzabile tramite un semplice pulsante da pagina excel o maschera, a decine di macro con 2–3 maschere preprogrammate e un paio di pagine per le impostazioni e controlli. Il primo automatismo richiede qualche minuto di lavoro per essere realizzato e installato, mentre nel secondo caso abbiamo un set di strumenti complessi che hanno richiesto anche cento e più ore di sviluppo. In realtà se sei un esperto o se hai letto i miei post precedenti sai che quest’ultimo set di strumenti non dovrebbe esistere, a meno di ottimi motivi.

Come abbiamo visto nel post “il ruolo di Excel nella professione”, il foglio elettronico è un notevole strumento di analisi o di supporto, ma non lo usi per attività che possono essere soddisfatte pienamente da programmi specifici pronti e disponibili sul mercato. Per esempio non lo usi per gestire il magazzino, ok?

Come abbiamo ribadito nel post “L’automazione di Excel”, nella maggior parte dei casi i fogli di lavoro hanno una vita limitata, quindi si automatizza solo quando è utile o necessario farlo, non si spendono centinaia di ore di lavoro per automatizzare qualcosa che servirà solo per un trimestre o per cui ci sono programmi già pronti disponibili sul mercato.

D’altra parte se nel tempo, un pezzo alla volta, raccogli o realizzi il tuo bel kit di automazione flessibile e installarlo sul foglio di lavoro non ti richiede molto tempo, allora fallo.

Come sono fatti gli automatismi pronti?

Per essere “pronti” all’uso in ogni situazione e foglio di lavoro, gli automatismi devono essere:

  1. Flessibili, o i più flessibili possibile;

Cosa intendo con flessibili?

A) Che funzionano in ogni situazione prevedibile senza bisogno di intervento da parte dell’operatore o con un intervento minimo iniziale (es: configurazione iniziale dell’automatismo). Questo è facile da comprendere e ottenere nel caso di una macro che replica un comando o un gruppo di comandi, come per esempio “chiudi e salva”, lo è un po’ meno quando gli automatismi lavorano su oggetti noti o non noti (per esempio devono aggiornare tutte o parte delle pivot del foglio di lavoro, o devono stampare solo i grafici approvati del report).

Quindi le macro non devono limitarsi a eseguire comandi, ma devono verificare la presenza degli oggetti su cui lavorano (es: tabelle, dati, grafici), ed eventualmente la loro posizione (es: nome delle pagine), proprietà (es: dimensioni), valori o altro; se necessario devono interrogare il sistema, ricercare le informazioni e individuare gli oggetti su cui intervenire, o devono sapere dove cercare le informazioni che servono loro (es: pagina di configurazione, interrogare l’operatore). E altro ancora.

Per esempio una maschera per la navigazione veloce tra le pagine che sia flessibile deve, ogni volta che viene lanciata, identificare le pagine del foglio di lavoro tra cui deve navigare, distinguere grafici, pagine dati, report, pagine vuote, eccetera, il loro ordine e su queste informazioni impostarsi di conseguenza. Questo può farlo essere fatto anche leggendo una pagina di configurazione che l’operatore deve compilare almeno la prima volta.

B) Che sappiano gestire le situazioni non prevedibili, non solo gestire gli errori, quindi quando un automatismo non trova gli oggetti su cui lavora, o valori attesi, proprietà o altro, a causa per esempio di rimozioni o modifiche, oppure non trova le informazioni per poter agire, deve essere in grado di gestire queste situazioni.

Cosa significa gestire?

Significa comunicare all’operatore l’imprevisto e aiutarlo a risolverlo, per esempio chiedendo direttamente a lui l’informazione necessaria (es: nome tabella).

Realizzare automatismi flessibili non è semplice come si crede, richiede predittività e spesso molto più codice di quello necessario a svolgere l’attività in questione.

  1. Efficaci, cioè automatismi che fanno bene ciò che devono fare, senza controlli da parte dell’operatore, se non quelli iniziali di verifica dell’installazione o del funzionamento.

Un automatismo non deve richiedere controlli sui risultati, specialmente se esegue attività complesse, ok? Per esempio hai una macro che verifica i dati prima di aggiornare un report periodico ed esegue una decina di controlli sia standard (completezza, coerenza e consistenza), sia configurabili (per esempio l’individuazione di valori anomali o fuori distribuzione), non solo deve funzionare, ma deve farlo bene tutte le volte e in tutte le situazioni.

Gli automatismi devono funzionare bene sempre e in tutte le condizioni (previste). Piuttosto che fornire risultati sbagliati è meglio non usare gli automatismi e fare da solo, o in altro modo.

  1. Autonomi, cioè che funzionano con nessuna o la minima interazione con l’operatore, a parte l’esecuzione dell’automatismo (es: il click sul pulsante) quando non è possibile farne a meno.

Gli automatismi si prendono in carico le attività ripetitive e prevedibili dell’operatore e talvolta anche le attività decisionali più semplici. La richiesta di interazione con l’operatore deve esserci solo quando necessario, quindi in caso di decisioni complesse, di imprevisti o di errori da gestire.

  1. Indipendenti dalla versione e dal pc, cioè l’automatismo deve funzionare su qualunque versione di Excel e su qualunque pc, o specificare chiaramente i limiti di compatibilità o le eventuali installazioni o strumenti aggiuntivi necessari.

Qualunque strumento usi per realizzare un automatismo è consigliabile che sia compatibile (es: non usare comandi vb datati e non affidabili), che non richieda installazioni aggiuntive (es: di componenti aggiuntivi), né che richieda risorse eccessive senza avvertire l’operatore di possibili ritardi o complicazioni.

Come mi procuro gli automatismi?

1. Li realizzi con le tue mani, ma per farlo devi:

A) studiare il linguaggio vba con cui realizzare macro e funzioni; ti servono circa 100–150 ore di studio, a seconda dei corsi che segui e dei libri che leggi, a cui devi aggiungere da 100 a 200 ore di pratica per fare l’esperienza necessaria. Se sei digiuno di programmazione dovresti aggiungere almeno 40–50 ore di studio delle basi della programmazione e sullo sviluppo di applicazioni.

Dove puoi cominciare? Risponderemo a questa domanda in un apposito post sul vba, nel frattempo puoi iniziare come sempre da qui.

La domanda che devi farti ora un’altra: ha senso spendere tanto tempo per imparare a programmare in vba?

Permettimi la schiettezza, se vuoi diventare un programmatore, se vuoi lavorare sviluppando programmi, web application, o altro, è meglio che studi linguaggi come ruby, php, python, C# e via dicendo, non un vecchio linguaggio come il vb. Se come immagino tu un lavoro ce l’hai e non riguarda l’IT, allora forse vale la pena valutare con più attenzione come spendere tempo e soldi per la formazione. Naturalmente questa vuole essere una provocazione per spingerti a ragionare sulla questione. Se sei un impiegato, un manager o altro, probabilmente hai argomenti più utili e importanti su cui spendere il tuo tempo.

B) studiare excel a livello avanzato, per imparare a usare gli strumenti più evoluti, in modo da saperli applicare nel modo più efficace e sapere come gestirli nel modo più semplice e automatico possibile.

Di solito per studiare Excel a livello avanzato servono 20–40 ore a seconda del corso più 10–30 ore di pratica. Se Excel è uno degli strumenti principali nel tuo lavoro, vale la pena spendere qualche decina di ore per imparare a usarlo al meglio. Magari insieme a un corso di statistica o di gestione aziendale, per esempio, a seconda del tuo ruolo e dell’utilizzo che fai del foglio elettronico.

2. Li trovi già pronti, in rete per esempio, su siti e forum dedicati, in cui puoi trovare soluzioni già sviluppate e testate, o chiedere anche aiuto gratuito per realizzarle. Questo richiede comunque una conoscenza minima del vba, per poter maneggiare il codice e adattarlo ai tuoi bisogni.

Oppure te li fai fare da qualcun altro, per esempio da uno dei tecnici dell’ufficio IT o dal consulente IT della tua azienda. Che valuterà l’utilità e l’efficacia della tua richiesta di automatizzare il foglio excel e potrà eventualmente offrirti alternative. Ti ricordo che nella maggior parte dei casi un foglio di lavoro Excel è temporaneo e non ha bisogno di automatismi, e ci sono soluzioni meno costose ed efficaci (es: funzioni del gestionale che non conosci o a cui non hai accesso). Oppure svilupperà o farà sviluppare quello che hai chiesto.

Naturalmente, la soluzione migliore è quest’ultima, farti fare gli automatismi da qualcun altro. Gli automatismi sono comodi e ti possono far risparmiare davvero molto tempo, ma se non sei già un esperto, quando ne vale la pena è meglio lavorare su fogli di lavoro già automatizzati forniti da altri.

Come li installo nel foglio di lavoro?

Per automatizzare ci sono due strade:

  1. gli automatismi sono già installati in un foglio di lavoro già testato e pronto per le attività che devono essere svolte, per esempio per la gestione di un report periodico.

Quindi si inizia a lavorare sul foglio di lavoro già automatizzato, si caricano i dati o si agganciano gli strumenti alle fonti esterne, si impostano tabelle e grafici, si configurano gli automatismi e se necessario li si personalizza o modifica quel minimo che può servire.

In realtà in alternativa si potrebbe trasferire il foglio di lavoro in uso nel foglio di lavoro automatizzato, o viceversa, come abbiamo anche visto nel post “Il primo modello automatizzato”. Se i fogli di lavoro non sono complicati è facile da realizzare, trasferisci pagine e macro e sei pronto. Se hai possibilità di scelta è preferibile trasferire il foglio di lavoro in uso in quello automatizzato. Ma se entrambi i fogli di lavoro sono grandi e complicati, può diventare difficile eseguire un trasferimento senza conseguenze. Fatti aiutare da qualcuno di esperto e salva sempre una copia di backup prima di eseguire le modifiche.

  1. gli automatismi sono da installare in un foglio di lavoro già preparato e in uso.

In questo caso devi caricare i moduli con macro e funzioni sul tuo foglio di lavoro, le maschere con il loro codice e se necessario devi creare e impostare le pagine che servono per l’automatismo (questo in realtà puoi farlo fare a una macro apposita, basta registrare la prima volta che lo fai in manuale e lanciare la macro le volte successive).

Per caricare i moduli e le maschere devi aprire l’editor vba, premendo Alt+F11, per poi importare i file, premendo Ctrl+M, o dal menu “File” comando “Importa file”, o cliccando con il destro nella finestra “progetti” sul nome del foglio di lavoro.

Quindi? Che faccio? Dove trovo gli automatismi?

Se sei un esperto te li fai da solo o modifichi quelli che altri hanno già fatto e trovi in rete. E non devo spiegarti nulla sull’argomento.

Se sei un principiante, se non conosci il vba, gli automatismi te li fai preparare da altri, o meglio devi farti preparare fogli di lavoro già automatizzati da chi è esperto. Se ne possono trovare in rete? Sì, ma di solito sono modelli automatizzati per attività semplici e con automatismi elementari. Ed è naturale che sia così, perché per fare fogli di lavoro excel con automatismi evoluti e flessibili si spende tempo, quindi difficilmente li troverai gratis.

D’altra parte se ti fanno risparmiare tempo, puoi spendere per averli o farli sviluppare. Così come paghi per comprare il gestionale e le applicazioni che ti servono sul lavoro.

C’è sempre qualcuno, tu non sei fra quelli, che pensa “ma le app del smartphone sono gratuite. Google e i social sono gratis. E l’open source?” L’open source è discorso a parte, il software proprietario e servizi delle aziende non sono gratis. Li paghi in altri modi di cui non sei consapevole.

Se non sei un principiante, ma nemmeno un esperto, conosci Excel in modo avanzato, mastichi il vba perché lavori molto con Excel, allora il mio consiglio è quello di valutare sempre e con attenzione l’utilità del tempo che spendi nelle attività, di gestione dei fogli di lavoro come di sviluppo. Quindi creati la tua scatola degli attrezzi, raccogli e sviluppa i tuoi automatismi, ma quando è opportuno spendi per comprare applicazioni specifiche da usare al posto di Excel o spendi per far sviluppare a un esperto quello che ti serve. Ok?

Spero che questa chiacchierata sia stata interessante e ti possa essere utile. Visto l’interesse approfondiremo l’argomento in futuro. Se hai domande o contributi non esitare a lasciare un commento o a scrivermi.

A presto ;D

 

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.