FAQ sul linguaggio VBA, alias Visual Basic for Applications
- A che cosa serve VBA?
- Che cosa serve per iniziare a lavorare con il linguaggio VBA?
- Che cos’è una macro?
- Come è fatto un programma in linguaggio VBA?
- Devo saper programmare per usare VBA?
A che cosa serve VBA?
Visual Basic for Applications, più semplicemente VBA, è un linguaggio di programmazione interno alle applicazioni di Office come per esempio Excel, Word, Access o Visio.
VBA permette di creare macro, ovvero gruppi di comandi che agiscono automaticamente sugli elementi di interfaccia utente delle applicazioni Office stesse per eseguire operazioni ripetitive o noiose in luogo dell’utente. Padroneggiare il linguaggio VBA significa ottenere di più con meno lavoro.
Che cosa serve per iniziare a lavorare con il linguaggio VBA?
Il linguaggio VBA è già presente dentro Office, però il suo utilizzo è disabilitato come preimpostazione. Seguendo le istruzioni fornite da Microsoft è possibile abilitare dentro la Barra multifunzione (Ribbon) le funzionalità Sviluppo
(Developer), con le quali registrare, modificare ed eseguire macro.
Per modificare le macro o visualizzarne il codice va più che bene Visual Basic Editor, anch’esso già presente in Office.
Leggi anche: Scaricare dati in Excel usando Visual Basic
Che cos’è una macro?
Una macroistruzione (macro) è un insieme di comandi possibili in una applicazione Office, eseguiti automaticamente secondo una lista di istruzioni scritte in linguaggio VBA; di fatto un programma.
Per esempio, durante l’utilizzo di Excel potremmo desiderare di aggiungere una riga, inserire un dato in una casella, replicare quel dato in certe caselle della riga e proseguire il lavoro. Le attività manuali necessarie per eseguire questa operazione possono essere integralmente sostituite da un programma in VBA.
La parte veramente preziosa è la possibilità, offerta dalla programmazione, di iterare un compito; mentre sostituire l’inserimento manuale di una riga in Excel con un programma può sembrare supefluo, è chiaro che se le righe da aggiungere fossero magari qualche centinaio, poter meccanizzare questa attività mediante un programma sarebbe di grande aiuto.
Come è fatto un programma in linguaggio VBA?
Questo esempio mostra un programma VBA assai semplice:
Sub Insert_Different_Colours() Dim i As Integer For i = 1 To 56 Cells(i, 1).Value = i Cells(i, 2).Interior.ColorIndex = i Next End Sub
Sub
e End Sub
segnano inizio e fine della procedura.
Dim
sancisce che la variabile di nome i verrà usata come numero intero.
Quanto compreso tra For
e Next
appartiene a un ciclo, ossia a una sequenza di ripetizioni delle stesse operazioni. Il valore della variabile i è impostato su 56 ripetizioni.
Dopo ogni ripetizione, il valore della variabile i incrementa di uno. Questo fa scegliere al programma, con Cells
, la prima casella della riga numero i, in cui viene messo il valore di i stessa, e poi la seconda casella sempre della stessa riga, che viene colorata della tinta corridondente all’indice colore di i.
Alla prima esecuzione del ciclo, quindi, la casella (1,1) si riempie con il valore 1 e la casella (1,2) si colora della tinta corrispondente all’indice colore 1. Alla seconda esecuzione tutto si ripete nella seconda riga, dove vengono inseriti il valore 2 e poi il colore 2. Nella terza riga vanno il valore 3 e nella casella di fianco il colore con indice 3 e così via, fino alla riga 56 dopo la quale, avendo raggiunto i il valore massimo desiderato, il ciclo si interrompe e il programma si ferma.
Ora pensiamo a quanto tempo avrebbe richiesto l’esecuzione manuale delle stesse operazioni e capiremo subito che vantaggi può portare il linguaggio VBA nell’uso di Excel e di Office.
Devo saper programmare per usare VBA?
VBA è un sistema di programmazione ibrido; certamente si articola in programmi, ma non è necessario possedere una professionalità da programmatori. Molte macro si creano registrandole, ossia eseguendo le operazioni manualmente intanto che Office le registra e le converte in istruzioni VBA. Alla fine della registrazione, l’ossatura del programma è già presente ed è in genere sufficiente apportare qualche modifica per raggiungere l’obiettivo.
È certamente molto utile non tanto essere programmatori, ma imparare con pazienza e poco alla volta a pensare in modo computazionale, come si insegna a fare con il coding anche alla scuola primaria. Da come faccio questa cosa con Excel? si passa alla domanda come faccio eseguire le stesse azioni al linguaggio VBA in Excel? I vantaggi, con il tempo e l’esperienza, possono diventare notevoli.
L'autore
Corsi che potrebbero interessarti
Programmare in VBA - Iniziare Bene