VBA, oltre alle normali procedure (sub), permette di creare un’altra tipologia di programma: le funzioni.
A differenza delle procedure che compiono un’azione, le funzioni restituiscono un singolo valore in base a dei parametri (argomenti) passati ad esse.
Una tipica funzione ha la seguente sintassi:
Function NomeFunzione(elencoParametri)
NomeFunzione = QualcheValore
End Function
All’interno della funzione è necessario comunicare quale valore la funzione deve restituire. Tale valore deve essere assegnato al nome identificativo della funzione. Se dimentichiamo di assegnare il valore al nome funzione, questa non restituirà nulla.
Nel semplice esempio seguente, la funzione “Peso” calcola il peso in Newton partendo dalla massa.
Function Peso(Massa)
'La forza peso si calcola in Newton quindi: Massa(kg) x Accelerazione di gravità(m/s2) = Peso(N)
Const g = 9.80665
Peso = Massa * g
End Function
La funzione può essere richiamata all’interno di una procedura o altra funzione VBA, oppure in una formula del foglio di lavoro (come nell’esempio seguente).

In questo banale caso è forse più conveniente scrivere direttamente la formula nella cella interessata (es. =B2*9,80665), ma in situazioni più complesse le funzioni possono semplificare molto le cose.