Scopri come creare macro Excel semplicemente!
In questo articolo ti mostrerò come scrivere una macro Excel in pochi semplici passaggi.
Ma andiamo per gradi. Se non hai molta confidenza con Excel probabilmente ti starai chiedendo che cosa è una macro Excel.
Partiamo con un semplice esempio.
Ogni persona ha una sua lingua madre. C’è chi parla lo spagnolo, chi l’inglese, chi il polacco, chi il tedesco e così via. Allo stesso modo anche Excel ha un suo linguaggio. Questo linguaggio è chiamato VBA (Visual Basic for Applications). Pertanto ogni volta che dai ad Excel delle istruzioni con il linguaggio VBA, Excel fa ciò che gli chiedi. In questo modo puoi programmare Excel in modo da automatizzare le tue attività di lavoro quotidiane.
Ma come è possibile programmare Excel? Puoi farlo in due modi.
1 | Il primo è registrare una macro utilizzando il registratore macro.
2 | Il secondo è scrivere una macro in Excel utilizzando la sintassi del linguaggio VBA.
Il percorso che ti mostrerò in questo articolo è il secondo.
Non ti preoccupare se all'inizio il codice VBA ti sembrerà incomprensibile. Ti aiuterò passo dopo passo a capire le macro e il significato!
Che cosa sono le macro in Excel?
Prima di iniziare, però, rispondo alla domanda lasciata in sospeso: cos'è una macro?
Una macro non è altro che una serie di istruzioni fornite da Excel nel linguaggio VBA. Come tutti i linguaggi, anche il VBA di Excel ha le sue regole. Inizialmente queste regole potrebbero intimorirti ma ti assicuro che con l'esercizio diventerà presto tutto più semplice.
Spero ora il concetto di Excel macro sia più chiaro ma per capire meglio, come appena anticipato, passiamo alla pratica!
Come si inserisce una macro in Excel?
Vediamo subito come creare una macro attraverso i vari passaggi.
1 | Dove si trovano le macro in Excel: come visualizzare l’Editor VB
L’Editor VB, abbreviato come VBE, è lo strumento che ci consente di creare, modificare e gestire le nostre macro VBA. Il Visual Basic Editor è incluso nella maggior parte dei programmi di Microsoft Office.
Per visualizzare l’Editor VB, premi il tasto destro del mouse dopo aver posizionato il puntatore sull’etichetta del foglio di lavoro.
Dal menu a scelta rapida fai clic sulla voce Visualizza codice.
2 | Inserisci un Modulo standard VBA Excel
A questo punto Excel aprirà la seguente finestra.
Dal menu Inserisci fai clic sulla voce Modulo. Il modulo sarà il contenitore della tua macro.
3 | Assegna un nome alla tua macro!
Prima di specificare il nome della macro inserisci la parola Sub. Successivamente digita il nome della tua macro e premi il tasto Invio. Il risultato sarà simile al seguente:
Puoi scegliere il nome della macro che desideri. Tuttavia, assicurati che non ci siano spazi o caratteri speciali nel nome della macro (eccetto il carattere di sottolineatura, “underscore”).
Ricordati, inoltre, di assegnare un nome rappresentativo che ti aiuti a individuare facilmente la tua macro. Il nome che ho assegnato nell’esempio non è per nulla significativo!
4 | Inserisci il codice Excel VBA
Inserisci il seguente codice digitandolo all’interno della tua macro. Il codice va inserito tra Sub … ed End Sub
Il risultato finale è mostrato nell’immagine seguente:
Immagino siano delle scritte con un significato poco chiaro ma è normale. Excel parla una lingua differente dalla nostra. Le soluzioni son due: affidarsi ad un interprete o affrontare questa nuova sfida.
Ti suggerisco la seconda soluzione e per affrontare questa sfida ti guiderò passo dopo passo in un questo nuovo percorso.
Come creare un pulsante in Excel?
Ci siamo quasi!
Vediamo come creare un pulsante a cui assegnare la nostra macro Excel appena creata.
Ora inserisci una forma a piacere (comando Forme | scheda Inserisci) scegliendone una tra quelle disponibili. Posiziona la forma in un punto qualsiasi del tuo foglio di lavoro.
Quindi fai clic con il tasto destro del mouse sulla forma e vai su Assegna macro.
Infine dalla finestra di dialogo Assegna macro, seleziona la macro Nome_Macro presente nell’elenco e fai clic su OK.
6 | Esegui la tua macro!
A questo punto il gioco è fatto! Ora che hai assegnato alla forma la tua macro, ogni volta che farai clic su di essa, Excel manderà in esecuzione il tuo codice.
Excel macro: comprendere il codice VBA
Vediamo ora di capire nel dettaglio il significato dell’intero codice della macro una riga alla volta.
Sub Nome_Macro() |
La parola Sub indica ad Excel che stiamo scrivendo una nuova serie di istruzioni. Più precisamente le seguenti righe di codice VBA sono una procedura Sub (o Sub routine) ovvero un gruppo di istruzioni correlate per eseguire qualcosa di significativo. La procedura Sub termina quando Excel trova la frase End Sub.
ActiveCell.Interior.Color = vbYellow |
ActiveCell indica ad Excel a quale cella facciamo riferimento. La cella attiva è qualsiasi cella selezionata.
Con .Interior.Color chiediamo ad Excel di riempire la cella con un colore specificato dopo il simbolo “=” (in questo caso vbYellow ovvero Giallo).
ActiveCell.Value = “Nome Cognome” |
Con .Value assegniamo il valore (numero o testo) alla cella attiva. In questo caso abbiamo inserito del testo. Ogni volta che si inserisce del testo occorre digitarlo tra i doppi apici.
ActiveCell.Columns.AutoFit |
Infine, con .Columns.AutoFit chiediamo ad Excel di adattare la larghezza della colonna al contenuto della cella attiva.
End Sub |
End Sub segna la fine della nostra piccola macro denominata Nome_Macro().
Vuoi saperne di più sulle macro Excel?
Allora potrebbero interessarti i seguenti articoli:
Vuoi imparare a utilizzare il linguaggio Excel VBA?
Basta con i lavori noiosi e ripetitivi! Grazie al VBA puoi far lavorare Excel al tuo posto!
Ho registrato per te un corso interamente dedicato alle Macro e al VBA.
Attraverso degli esempi pratici, ti introdurrò, al mondo delle Macro di Excel illustrandoti tutto il potenziale per automatizzare le tue attività di lavoro quotidiane.
Cosa aspetti?
Sfrutta tutto il potenziale di Excel con il corso Macro e VBA!
Salve Damiano, fermi restando la bella e chiara lezione su come imparare a registrare
una macro vorrei sapere se esiste un filtro in orizzontale
Giorgio
Salve Giorgio,
mi fa piacere tu abbia trovato la spiegazione chiara.
Per quanto riguarda il filtro orizzontale … in Excel non è disponibile un filtro per colonne in modo nativo. Tuttavia potresti utilizzare il comando Trasponi in un nuovo foglio di lavoro e applicare il filtro per righe.
Caro Damiano ti seguo con piacere, complimenti per il ricco tuo bagaglio che metti a nostra disposizione. Da circa un mesetto, nel tempo libero, mi sono avvicinato al mondo delle macro, del VBA e delle user form ma devo dire che il linguaggio, per programmare (ex novo), quindi scrivendo da zero come fai tu , è tutt'altro che facile e, se sono riuscito a realizzare una user, ciò aiutandomi con qualcosa di pronto che all'occorrenza ho modificato adattando alle mie esigenze. Spero di migliorare strada facendo, grazie!