Una parte fondamentale della scrittura delle macro è l'inserire commenti e note che ne spieghino il funzionamento e la logica, così come alcuni semplici regole di "stile": rendono il codice scritto molto più chiaro e leggibile.
Commenti
Spesso non sono scriti nella fretta ma sono fondamentali per spiegare la logica che ha portato a scrivere la macro in quel modo o usare quel particolare calcolo.
Capita a tutti di rileggere una macro scritta a distanza di mesi e non ricordare il perchè di un certo calcolo o la logica di funzionamento: righe di commento scritte prima dei passaggi fondamentali aiuteranno di certo le rilettura.
E diventa ancora più importante se diverse persone leggeranno o modificheranno la stessa macro.
In VBA ogni riga che inizia con un singolo apice (') oppure che comincia con REM è un commento e non viene eseguito.
' Definizione delle variabile
Dim Punteggio
As Integer
REM Assegnazione del valore alla variabile
Punteggio = 10
Indentazione
Con indentazione si intende l'inserimento di una certa quantità di spazi vuoti all'inizio di una riga di testo, in VBA ha il solo scopo di facilitare la comprensione delle struttura de codice.
Esistono diversi stili di indentazione (si potrebbe dire uno per ogni programmatore!) ma per tutti è comune spostare visivamente a destra il blocco contenuto all'interno di altre strutture, come le istruzioni all'interno di un if o di un ciclo for. Ad esempio:
If condizione
Then
' porzione spostata a destra rispetto all'IF
espressioni se condizione vera
Else
espressioni se condizione falsa
End If
Nomi delle variabili
Alidilà delle regole sintattiche è buona norma quella di applicare una certa logica nel dare il nome alle variabile per dare maggiore leggibilità al codice e e renderlo comprensibile ad altre persone che lo leggono.
Uno dei consigli è quello di non usare abbreviazioni eccessive ma nemmeno vere e proprie frasi. Alcuni preferiscono la lettere maiuscola all'inizio di ogni parola, ad esempio TotalePunteggio, altri in trattino di sottolineatura fra le parole, ad es. totale_punteggio.