Quando si impara a produrre codice VBA, è importante, fin dall’inizio, adottare buone abitudini di presentazione del codice, in modo che sia facile leggere il codice e capire come funziona.
Mentre potresti, al momento in cui stai scrivendo il codice, avere un’idea chiara di ciò che fa e di come funziona, devi considerare come apparirà il codice quando dovessi tornare a guardarlo tra 6 mesi. O peggio ancora, cosa succederebbe se qualcun altro avesse bisogno di lavorare sul tuo codice e dovesse capire come funziona?
In questa pagina vengono discussi i commenti, il rientro del codice e le interruzioni di riga che contribuiranno a rendere il codice più chiaro e più facile da interpretare.
Commenti
La pratica più importante per la scrittura di codice chiaro e decifrabile è quella di aggiungere commenti frequenti.
I commenti sono righe nel tuo codice che fungono da note a te stesso o agli altri, per spiegare cosa significa il codice o cosa stia facendo.
I commenti non vengono eseguiti durante l’esecuzione del programma, quindi non influiscono sul risultato della macro. VBA considera qualsiasi testo che segue un’apostrofo (‘) come un commento e l’editor VBA di Excel evidenzia questo testo in verde, quindi puoi vedere, a colpo d’occhio, che è un commento e non verrà eseguito.
Vedi l’esempio di seguito, che mostra i commenti utilizzati per chiarire i dettagli di una semplice procedura Sub:
' Procedura Sub per cercare la stringa fornita
' nell'intervallo A1-A100 del foglio di lavoro attivo
Sub Find_String(sFindText As String)
Dim i As Integer ' Integer usato nel loop For
Dim iRowNumber As Integer ' Integer per memorizzare il risultato
iRowNumber = 0
' Scorre le celle da A1 a A100 fino a che non viene trovata 'sFindText'
For i = 1 To 100
If Cells(i, 1).Value = sFindText Then
' E' stata trovata una corrispondenza con la stringa fornita
' Salva il numero di riga corrente e esce dal ciclo For
iRowNumber = i
Exit For
End If
Next i
' Produce un messaggio pop-up che avvisa l'utente se sia stata trovata
' la stringa e, se è stata trovata, in quale riga si trova
If iRowNumber = 0 Then
MsgBox "Stringa " & sFindText & " non trovata"
Else
MsgBox "Stringa " & sFindText & " trovata nella cella A" & iRowNumber
End If
End Sub
Non preoccuparti se non capisci parte del codice nell’esempio sopra – questo verrà spiegato più avanti in questo tutorial. L’esempio è stato incluso semplicemente per mostrare come vengono utilizzati i commenti per spiegare ogni sezione del codice.
È facile diventare pigri sull’aggiunta di commenti al codice, ma vale davvero la pena. I minuti investiti per garantire che il tuo codice sia ben documentato potrebbero farti risparmiare ore di frustrazione a lungo termine.
Indentazione del codice
Un altro modo per rendere più leggibile il codice è aggiungere dei rientri. Puoi vedere come, nell’esempio qua sopra, il codice è stato rientrato nella procedura Sub principale e quindi rientrato ulteriormente all’interno dei singoli blocchi di codice. Queste sezioni rientrate ti consentono di vedere facilmente dove ogni blocco di codice inizia e finisce.
Interruzioni di riga
Il tuo codice può anche essere reso più leggibile inserendo delle interruzioni di riga nel mezzo di lunghe righe di codice. In VBA, se si desidera dividere una riga, è necessario aggiungere uno spazio seguito da un trattino basso (_) subito prima del ritorno a capo. Questo dice al compilatore VBA che l’attuale riga di codice continua sulla riga seguente.
L’esempio seguente mostra come è possibile utilizzare semplici interruzioni di riga per semplificare la lettura e la comprensione di lunghe righe di codice.
Considera la seguente istruzione ‘If’:
If (index = 1 And sColor1 = "rosso") Or (index = 2 And sColor1 = "blu") Or (index = 3 And sColor1 = "verde") Then
Aggiungendo le interruzioni di riga la stessa istruzione ‘If’ può essere presentata come segue:
If (index = 1 And sColor1 = "rosso") Or _
(index = 2 And sColor1 = "blu") Or _
(index = 3 And sColor1 = "verde") Then
Quando l’istruzione ‘If’ è suddivisa su tre righe, puoi vedere le diverse condizioni all’interno dell’istruzione ‘If’ in modo molto più chiaro.
Questo esempio mostra come presentare il codice in modo chiaro e può aiutarti a produrre codice leggibile, che ti aiuterà a evitare l’introduzione di bug o errori.
Vai a VBA Tutorial Parte 2 – Tipi di dati, Variabili e Costanti