Static permette di definire una variabile all'interno di una Sub o Function il cui valore non viene perso, esempio:
codice:
Public Function NumeroProgressivo() As Integer
Static n As Integer
n = n + 1
NumeroProgressivo = n
End Function
'chiamando la funzione...
Debug.Print NumeroProgressivo() '===> 1
Debug.Print NumeroProgressivo() '===> 2
Debug.Print NumeroProgressivo() '===> 3
Debug.Print NumeroProgressivo() '===> 4
...
Personalmente credo sia meglio non abusare di questo tipo di dichiarazioni, spesso nascondono bug di difficile individuazione.