Con Visual Basic for Ap­pli­ca­tions in Excel, ti occupi dell’au­to­ma­zio­ne dei flussi di lavoro in questo programma di Office. In questo modo viene garantito l’ag­gior­na­men­to au­to­ma­ti­co dei dati, ri­spar­mian­do tempo.

Excel con Microsoft 365 per le aziende e IONOS!
L'Office che conosci, ma mi­glio­ra­to

Ottieni la posta elet­tro­ni­ca Exchange e tutte le ultime versioni delle tue ap­pli­ca­zio­ni preferite su tutti i tuoi di­spo­si­ti­vi.

Cos’è VBA in Excel?

VBA è l’ab­bre­via­zio­ne di “Visual Basic for Ap­pli­ca­tions”, un lin­guag­gio di scripting di­spo­ni­bi­le per gli utenti di Microsoft Office in ap­pli­ca­zio­ni come Excel. È stato svi­lup­pa­to negli anni ‘90 per stan­dar­diz­za­re i vari linguaggi macro delle singole ap­pli­ca­zio­ni. Può essere uti­liz­za­to per au­to­ma­tiz­za­re i normali flussi di lavoro e generare strumenti pratici per la gestione dei progetti o per l’arit­me­ti­ca.

Come qualsiasi altra ap­pli­ca­zio­ne di Office, anche Excel è composto da vari oggetti, come fogli di lavoro, celle o tabelle. I metodi e le proprietà di questi oggetti possono essere con­trol­la­ti ma­nual­men­te o, se ne­ces­sa­rio, con la pro­gram­ma­zio­ne VBA. È possibile generare azioni au­to­ma­ti­che uti­liz­zan­do l’editor VBA, integrato nell’ap­pli­ca­zio­ne. Non è molto com­pli­ca­to, perché i singoli moduli di codice sono già definiti. Il tuo compito è sem­pli­ce­men­te quello di mettere insieme i singoli moduli per creare una soluzione per­so­na­liz­za­ta. Le soluzioni di questo tipo, note anche come macro di Excel, fa­ci­li­ta­no l’or­ga­niz­za­zio­ne, la for­mat­ta­zio­ne o l’im­por­ta­zio­ne di dati, ma non solo.

VBA in Excel: come aprirlo

Prima di iniziare con la pro­gram­ma­zio­ne VBA, devi aprire questo lin­guag­gio in Excel. Per farlo, ti basta uti­liz­za­re la com­bi­na­zio­ne di tasti [Alt] + [F11]. L’editor si aprirà au­to­ma­ti­ca­men­te.

In al­ter­na­ti­va, è possibile uti­liz­za­re la barra dei menu di Excel. Fai clic su “Visual Basic” nella scheda “Sviluppo” per aprire VBA in Excel. Non sempre però vi­sua­liz­ze­rai questa scheda. In questo caso, puoi ag­giun­ger­la alla barra dei menu tramite “File” > “Opzioni” > “Per­so­na­liz­za­zio­ne barra mul­ti­fun­zio­ne”. Seleziona la voce “Sviluppo” in “Schede prin­ci­pa­li”.

Immagine: Excel: aggiunta scheda “Sviluppo”
Seleziona l’opzione “Sviluppo” tramite la barra mul­ti­fun­zio­ne e le schede prin­ci­pa­li”.
N.B.

Le istru­zio­ni qui riportate sono valide per le versioni di Excel a partire da Office 2016 e per Microsoft 365.

VBA di Excel: tutorial per muovere i primi passi

Prima di eseguire un nuovo programma di Excel con Visual Basic, hai bisogno prima di tutto di un framework, che sarà poi riempito con gli elementi del codice.

Primo passaggio: dopo aver aperto l’editor VBA, clicca su “Inserisci”  “Modulo” per ag­giun­ge­re un nuovo modulo.

Immagine: Excel: inserire modulo VBA
Clicca su Visual Basic e poi su Inserisci e Modulo.

Secondo passaggio: nella casella di testo digita “Option Explicit” e “Option Base 1”. Questo permette di inserire le istru­zio­ni di Sub (procedure o sub­rou­ti­ne) e Function (Funzioni). I Sub sono programmi composti da soli comandi. Qui non c’è un valore di output. I valori di output sono indicati inserendo le Function, che proprio per questo motivo sono adatte ai calcoli ma­te­ma­ti­ci. Le risposte del programma vengono mostrate sotto forma di finestra di dialogo.

Immagine: VBA di Excel: compilazione
Digita nella casella di testo Option Explicit e Option Base 1.

Uti­liz­za­re le variabili

Nel Visual Basic di Excel le variabili ricoprono la stessa funzione delle equazioni ma­te­ma­ti­che. Non fungono solo da caratteri jolly per i valori, ma anche per le suc­ces­sio­ni o gli oggetti. L’utilizzo di variabili è sempre utile quando gli elementi vengono ri­chia­ma­ti più di una volta. Nei codici VBA devi di­chia­ra­re il tipo di una variabile. Per rendere esplicita la di­chia­ra­zio­ne utilizza la seguente istru­zio­ne DIM: Dim [variabile] As [tipo di dati].

Esempio: con Dim datInizio As Date VBA segnala che deve essere creata una variabile con il nome “datInizio” del tipo “Data”.

In base al contenuto della variabile devi scegliere in VBA il tipo di dati corretto. Qui troverai una pa­no­ra­mi­ca dei tipi più uti­liz­za­ti e delle relative di­chia­ra­zio­ni.

  • Variant: può contenere qualsiasi tipo di dati, come ad esempio valori e suc­ces­sio­ni numeriche, valori temporali o date. Una variante viene indicata au­to­ma­ti­ca­men­te quando il tipo non è di­chia­ra­to in maniera esplicita. Di­chia­ra­zio­ne: non definita.
  • Integer: si applica per tutte le cifre che hanno un valore che oscilla tra -32.768 fino a 32.767. Tipo di carattere per la di­chia­ra­zio­ne:**%()
  • Long: si applica per tutte le cifre che si trovano nell’in­ter­val­lo compreso tra -2.147.483.648 fino a 2.147.483.647. Tipo di carattere per la di­chia­ra­zio­ne: (&)
  • Double: comprende tutti i numeri in virgola mobile con un valore +/- a 1,79 * 10^308. Tipo di carattere per la di­chia­ra­zio­ne: (#)
  • Boolean: queste sono esclu­si­va­men­te variabili True o False. Viene mostrato come: True o False oppure #TRUE# o #FALSE#
  • String: si riferisce a stringhe di caratteri con lunghezza variabile o pre­de­fi­ni­ta. Tipo di carattere per la di­chia­ra­zio­ne: ($)
  • Date: memorizza in­for­ma­zio­ni ri­guar­dan­ti data e orario. Si possono inserire orari compresi tra le 00:00:00 (mez­za­not­te) e le 23:59:59.9999999. Il formato della data è di m/gg/aaaa oppure aaaa-mm-gg.

I comandi VBA più comuni

L’istru­zio­ne Do…Loop

Do
Comandi
Loop [While/Until] Condizione

Con il ciclo Do si eseguono comandi che devono essere ripetuti per vari cicli e fino a quando non verrà sod­di­sfat­ta una con­di­zio­ne precisa. Con “While” il ciclo si ripete fino alla con­di­zio­ne “False”. Con “Until” il ciclo si ripete fino alla con­di­zio­ne “True”.

Istru­zio­ne For…Next

For
Variabile = [valore iniziale] To Step [valore]
Comando
Next Variabile

Con il ciclo For le istru­zio­ni vengono ripetute in base alle volte in cui sono indicate. Si avvia quando la variabile ha raggiunto il valore iniziale e aumenta in base al valore “Step” stabilito, fino al rag­giun­gi­men­to del valore finale.

Istru­zio­ne If…Then…Else

If [Condizione1] Then
Comando1
Elseif [Condizione2] Then
Comando2
Else
Comando3
End if

La con­di­zio­ne If introduce tutta una serie di istru­zio­ni che dipendono dalla cor­ret­tez­za della di­chia­ra­zio­ne. Se nel codice so­prain­di­ca­to la con­di­zio­ne1 è corretta, allora il comando1 viene eseguito in maniera au­to­ma­ti­ca. Se non è corretto si verifica la cor­ret­tez­za della con­di­zio­ne2. In questo caso si esegue il comando2. Qualora entrambe le con­di­zio­ni non fossero corrette, si at­ti­ve­reb­be il comando3.

Consiglio

Un lavoro ef­fi­cien­te con Excel non si sem­pli­fi­ca soltanto con una pro­gram­ma­zio­ne in VBA, ma anche uti­liz­zan­do i tasti di scelta rapida di Excel.

Pro­gram­ma­zio­ne VBA: esempio pratico

Il modo migliore per imparare a uti­liz­za­re VBA di Excel è eser­ci­tar­si con esempi pratici. Qui in basso troverai una semplice istru­zio­ne If…Then…Else:

Immagine: VBA di Excel: esempio
Tabella Excel con valori di esempio.

Con l’aiuto di una macro di Excel verrà mostrato se il candidato 142 in A2 ha superato la prova. Per il pieno su­pe­ra­men­to deve aver ottenuto almeno 60 punti.

Immagine: VBA di Excel: funzione con una dichiarazione If Else
Inserisci il codice per If_test1 e clicca sul tasto Play.

Il codice VBA indicato sopra If Range("b2").Value >= 60 Then Range("c2").Value = "Sì" sta­bi­li­sce come con­di­zio­ne che nella cella C2 venga inserita la risposta “Sì”. Clicca sul tasto Play e nella finestra suc­ces­si­va su “Esegui”, così verrà mostrata la pro­gram­ma­zio­ne con VBA e la cella C2 si riempirà au­to­ma­ti­ca­men­te.

Immagine: VBA di Excel: esecuzione della macro
Esegui If_test1 nella finestra di dialogo della macro.
Immagine: VBA di Excel: risposta automatica in C2
Dopo aver eseguito la macro vi­sua­liz­ze­rai la risposta au­to­ma­ti­ca in C2.

Questo è un semplice esempio per dare una prima im­pres­sio­ne a chi è agli inizi del lin­guag­gio Visual Basic di Excel. Su internet puoi trovare altri esempi pratici con cui eser­ci­tar­ti.

Vai al menu prin­ci­pa­le