Introduzione alle maschere di Excel

By | 30 Ago 2018

maschere di Excel

Cos’è una maschera di Excel? Come si creano? Come si usano? Quando è utile usarle? Questa sera introduciamo le maschere di Excel, uno degli strumenti avanzati per l’automazione di Excel, ma poco conosciuto.

Cos’è una maschera di Excel?

In sintesi una maschera di Excel è un strumento utilizzato per impostare e lanciare routine con cui eseguire attività automatiche sul foglio di lavoro. Le maschere possono essere adattate a molti usi, da finestra di dialogo, a finestra di inserimento, da pannello di controllo, a finestra di configurazione/settaggio e altro ancora.

Una maschera è in sostanza una finestra di grandezza variabile su cui posizioniamo/installiamo la serie di controlli che l’operatore utilizzerà per controllare le attività automatizzate.

Cosa sono i controlli?

Caselle degli strumenti

I controlli sono strumenti con cui è possibile appunto controllare gli automatismi e le attività delle maschere. Sono oggetti concepiti per semplificare l’interazione con te che usi la maschera. Attraverso i controlli puoi scegliere o inserire valori, impostare e attivare gli automatismi e altro ancora. I controlli più usati sono i seguenti:

  1. il classico pulsante di comando per lanciare macro,
  2. la casella di testo in cui inserire valori, fondamentale per fornire informazioni agli automatismi,
  3. la lista da cui scegliere un valore, per dare la possibilità all’operatore di scegliere tra più valori predefiniti,
  4. la casella combinata, che somma le caratteristiche dei due controlli precedenti e che offre la possibilità di scegliere un valore da una lista predefinita o inserire un valore,
  5. i pulsanti opzione, fondamentali nella gestione delle scelte tra due o più alternative,
  6. le caselle di controllo da attivare o disattivare, con cui impostare o filtrare caratteristiche e parametri.

Quando i controlli vengono installati nelle maschere richiedono l’impostazione delle loro proprietà, per esempio del nome e dell’aspetto, e l’inserimento di codice vba necessario per lavorare correttamente.

Il codice vba è di solito associato a un evento preciso e serve, ad esempio, per inizializzare correttamente il controllo all’apertura della maschera caricando la lista di valori di una listbox, o per lanciare una macro al clic del pulsante, o per eseguire controlli sul foglio di lavoro o sull’utilizzo degli strumenti da parte dell’operatore. Approfondiremo l’argomento “controlli” in un post dedicato.

Maschera base

Come si crea una maschera di Excel?

Le maschere vengono create attraverso il visual basic editor. Se non conosci o vuoi approfondire la conoscenza dell’editor ti invito a leggere la Guida all’editor Vba.

Come si crea una maschera?

Il modo più veloce è questo:

  1. premi Alt+F11 per aprire l’editor vba
  2. clicchi sul menù “Inserisci” per aprirlo,
  3. clicchi sul comando “Userform” che aggiungerà una nuova maschera vuota al tuo foglio di lavoro e farà comparire la casella degli strumenti per l’inserimento dei controlli.

Se non è disponibile, ti consiglio di aprire la finestra delle proprietà premendo F4 o cliccando sul comando “Finestra proprietà” del menù “Visualizza”.

Per realizzare una piccola finestra di comando con pulsanti che lanciano le tue macro non devi fare altro che:

  1. selezionare il comando “pulsante di comando” dalla casella degli strumenti,
  2. trascinarlo nella finestra maschera,
  3. dimensionarlo a piacere tramite i quadrati ai bordi della selezione, o tramite le proprietà “Height” e “Width”,
  4. dargli un nome tramite la proprietà “(Name)” e un testo tramite la proprietà “Caption”,
  5. cliccare 2 volte sul pulsante per passare alla finestra del codice direttamente nella routine impostata sull’evento “click” (es: Sub CommandButton1_Click), se necessario puoi cambiare oggetto ed evento usando i menù a tendina in alto nella finestra del codice, quello di sinistra per selezionare l’oggetto della maschera, quello di destra per scegliere l’evento,
  6. scrivere il nome della macro che vogliamo lanciare con il clic del pulsante che deve essere presente in un modulo del foglio di lavoro.
  7. ripetere quanto descritto per ogni pulsante che vogliamo inserire nella finestra della maschera.

Fatto, ora hai la tua prima maschera.

Pannello di comando

Come si struttura una maschera?

Per evitare sprechi di tempo e realizzare uno strumento efficace e comodo, una maschera deve essere progettata con attenzione e precisione. Prima della sua realizzazione devi pianificare lo strumento con attenzione: devi pensare al suo scopo, a come verrà usata e da chi, a quali attività realizzerà e come. L’obiettivo è sia estetico che pratico e funzionale. La maschera è uno strumento che deve essere pratico, chiaro e semplice da usare, deve essere corredato da istruzioni e funzionare bene.

Il mio consiglio è usare word, powerpoint o un semplice foglio di carta per progettare la tua maschera nei particolari, sia estetici che tecnici, per poi realizzarla con precisione. Approfondiremo la creazione delle maschere in post e videocorsi dedicati.

Come si scrive il codice per fare funzionare le maschere?

In teoria le routine vba che vengono inserite nelle maschere sono analoghe a quelle delle macro ordinarie, come descritto nella Guida alla macro di Excel. Quindi sono strutturate, prevedono la dichiarazione delle variabili, la gestione degli errori, controlli preliminari e non, l’eventuale interazione con l’operatore dove è necessario, la gestione di decisioni prevedibili e l’elaborazione vera e propria.

In teoria. Nella realtà ci sono notevoli differenze che vale la pena sottolineare. In primo luogo le maschere prevedono una routine di inizializzazione, eseguita all’avvio della maschera, che si occupa di preparare gli strumenti di controllo installati dove necessario, per esempio caricando le liste dei valori, si occupa di eseguire controlli sul foglio di lavoro e oltre per anticipare condizioni impreviste, come l’assenza di oggetti necessari allo svolgimento delle attività, ed eventualmente interagiscono con l’operatore, per esempio per comunicare imprevisti, o intervengono direttamente sul foglio di lavoro per creare gli oggetti mancanti o ripristinare le condizioni minime di lavoro.

In secondo luogo non tutti i controlli richiedono codice, per esempio i pulsanti di opzione di solito non hanno codice, ma servono per ricevere in modo semplice e sicuro informazioni dall’operatore, sarà il codice di un’altra macro che una volta lanciata si occuperà di verificare il valore dell’opzione scelta dall’operatore ed eseguire l’attività come richiesto. Oppure se i controlli richiedono codice, spesso è limitato e strettamente funzionale, per esempio dedicato a impostare variabili o proprietà. La maggior parte del codice è dietro ai pulsanti di comando, preposti al lancio degli automatismi.

Infine per motivi di praticità, comodità e flessibilità, le macro principali che si occupano di realizzare le attività principali, soprattutto se complesse, non vengono inserite nella maschera, ma vengono scritte in un modulo classico e solo richiamate dalla routine inserita dalla maschera.

C’è chi preferisce inserire tutto il codice nelle maschere e vederle come strumenti indipendenti, ma una maschera è in realtà solo una struttura di supporto alle macro e ai controlli, non un’applicazione indipendente. Questo è dimostrato facilmente dalla possibilità di replicare la maschera in un pannello di comando su pagina Excel.

Maschera

Come si usano le maschere di Excel?

Per usare una maschera è necessario richiamarla tramite un semplice comando “NOMEMASCHERA.show”, che di solito viene inserito in una macro apposita (chiamala per esempio: maschera_NOMEMASCHERA) che possiamo richiamare tramite:

  1. un pulsante installato nel foglio di lavoro, per esempio in un pannello di comando su pagina,
  2. un pulsante sulla barra multifunzione, specialmente su usi la cartella macro personale come cassetta degli attrezzi,
  3. associando la macro a uno o più eventi, per esempio all’apertura del foglio di lavoro, o all’attivazione di una pagina.

Naturalmente non sono gli unici modi, per esempio puoi richiamare una maschera tramite il pulsante di un’altra maschera o la finestra “Macro” di Excel, ma sono i più comuni. Per maggiori informazioni sull’uso delle macro vedi la Guida alle macro o la Guida al registratore di Excel.

Le maschere possono essere impostate per bloccare o permettere l’interazione con il foglio di lavoro, possono essere impostate per apparire in posizioni precise e per eseguire attività automatiche alla loro apertura, oltre alla semplice inizializzazione.

Le maschere possono essere chiuse tramite il pulsante classico in alto a destra della finestra, ma di solito vengono chiuse tramite apposito comando installato sulla maschera, o in automatico all’esecuzione dell’attività per cui sono state concepite, a seconda dello scopo della maschera.

A cosa serve una maschera?

Come spiegato all’inizio 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.

Per esempio con le maschere possiamo inserire i dati in una tabella, in modo analogo al primo foglio di lavoro automatizzato pubblicato mesi fa con il post “il primo modello automatizzato”. In quel caso i controlli erano installati su una e più pagine del foglio di lavoro, ma avrebbero potuto essere installati su una maschera. Perché dovremmo inserire dati in un foglio excel attraverso una maschera quando possiamo farlo direttamente nella tabella? Perché la maschera facilita l’inserimento e soprattutto esegue controlli che azzerano gli errori umani.

Oppure per esempio possiamo usare una maschera come pannello di comando da cui lanciare gli automatismi del foglio di lavoro, un’alternativa al pannello di comando su pagina che ho usato nei fogli di lavoro automatizzati finora pubblicati.

Una possibile classificazione degli usi più comuni delle maschere è la seguente:

  1. Pannelli di controllo, con cui gestiamo una o più attività specifiche, come un pannello per il controllo dei dati da cui lanciare macro che eseguano direttamente controlli sulla presenza di errori o anomalie nei dati, o installino strumenti come tabelle pivot con cui eseguire verifiche della consistenza e della coerenza dei dati;
  2. Maschere di inserimento, per inserire i dati ed eseguire controlli,
  3. Maschere di ricerca, per lanciare query o cercare direttamente valori o record in una base dati;
  4. Maschere di analisi ed elaborazione, che presa una base dati eseguono elaborazioni predefinite, in modo diretto o attraverso gli strumenti avanzati di Excel;
  5. Finestre di dialogo personalizzate, da usare in altre macro per un’interazione più soddisfacente con l’operatore,
  6. Maschere di supporto, per usi diversi e particolari, da un pannello generale che raccogliere molti fogli di lavoro, a pannelli di navigazione e altro ancora.

Quando si usano le maschere di Excel?

Le maschere sono uno strumento di supporto all’automazione che richiede:

  1. competenza e la conoscenza almeno intermedia del vba,
  2. lavoro per la progettazione e creazione, lo sviluppo e il debug,

Le maschere non sono uno strumento necessario per l’automazione di un foglio di lavoro, sono uno strumento di supporto, gli automatismi veri e propri sono le macro.

Inoltre come già accennato sono sostituibili con pannelli di comando realizzati sulla pagina di Excel, come ho proposto nei fogli automatizzati finora pubblicati. È più semplice e veloce realizzarli, ma naturalmente non è la stessa cosa, puoi intuirlo e lo vedremo quando tratteremo l’uso dei controlli sulla pagina. Comunque finché ci limitiamo a cose “semplici”, non noteremo differenze significative tra i vantaggi delle due alternative.

Finché ci limitiamo a pannelli di comando composti da pulsanti, le maschere sono sostituibili anche da una scheda personalizzata della barra multifunzione. Una soluzione comoda se usiamo la cartella macro personale come cassetta degli attrezzi.

Quindi perché usare le maschere?

Per esempio, perché:

  1. permettono di realizzare pannelli strutturati e professionali, anche belli a vedersi;
  2. sono comodi e utilizzabili da chiunque con un minimo di istruzioni;
  3. fanno risparmiare tempo nella gestione e nell’esecuzione degli automatismi, per esempio non costringono a tornare alla pagina del pannello di controllo per utilizzarlo;
  4. permettono di gestire molti automatismi e attività da un’unica piattaforma;
  5. sono facilmente riutilizzabili in molti fogli di lavoro, senza o con una minima spesa di tempo per l’adeguamento, questo naturalmente se vengono realizzati nel modo migliore,
  6. infine se hai imparato il vba, vale la pena spendere qualche ora in più per imparare a realizzare strumenti professionali, in certi casi vere e proprie applicazioni.

Quando è opportuno usare le maschere?

In una di queste condizioni:

  1. Quando hai le maschere a disposizione, perché le hai sviluppate nel passato, o le hai ricevute già pronte da altri. Ora che le hai aggiunte alla tua cassetta degli attrezzi, ti serve zero o poco tempo per l’installazione e l’eventuale revisione.
  2. Quando devi gestire un foglio di lavoro complesso di “lunga durata”, cioè un foglio che richiede molto tempo di gestione e che sai avrà una vita lunga, annuale o perfino pluriennale. Situazione questa piuttosto rara, visto il ruolo che ha assunto oggi Excel in ambito aziendale e professionale, un ruolo di supporto e di condivisione dei dati.
  3. Quando l’automazione del foglio di lavoro supera una soglia limite, che io chiamo di congestione, oltre la quale diventa impegnativo gestire il numero di macro attraverso pannelli di comando e controlli distribuiti su pagina. Situazione piuttosto rara, se non in condizioni come quelle del punto precedente, o più frequentemente quando si utilizza la cartella macro personale come una cassetta degli attrezzi, con automatismi che gestiscono decine di attività diverse.

maschere Excel

Conclusioni

In questa breve introduzione abbiamo visto cosa sono, come si creano e si usano le maschere di Excel. Strumento di supporto, potente, comodo e professionale con cui è possibile gestire gli automatismi fino a realizzare strumenti evoluti.

Le maschere però richiedono la conoscenza avanzata del vba, un certo lavoro per la loro realizzazione e non sono necessarie per l’automazione di un foglio di lavoro. Anche per questo di solito sono utilizzate solo se già disponibili, mentre vengono realizzate in situazioni specifiche dove i vantaggi che offrono diventano rilevanti.

Situazioni sempre più rare, visto il ruolo di supporto che oggi ha assunto Excel in ambito aziendale e professionale, a seguito della disponibilità di strumenti informatici sempre più nuovi, performanti e specializzati.

Personalmente sconsiglio di spendere tempo sulle maschere, a meno che non lavori quotidianamente con Excel, diciamo un’ora al giorno, e già usi automatismi per risparmiare tempo e lavoro. In tal caso e se conosci il vba, allora potrebbe valere la pena approfondire l’argomento.

Rispondi

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