Ho controllato, ecco il codice giusto

If n <= 3 Then
primo = True
Else
If n Mod 2 = 0 Then
primo = False
Else
d = 3
r = Int(Sqr(n))
While (n Mod d <> 0) And (r < d)
d = d + 2
Wend
If r > d Then
primo = False
Else
primo = True
End If
End If
End If

L'algoritmo controlla inizialmente se il numero é minore o uguale a 3, e cioé é primo. Se invece é divisibile per 2 allora non é primo. Quindi partendo da 3 (d=3) e arrivando fino all'intero della radice del numero ( r=Int(Sqr(n)) ) ad intervalli di 2 (3-5-7-9 ecc.) se il programma trova un divisore (n Mod d <> 0) allora il numero non é primo (r > d), altrimenti si.

Spero di essermi spiegato.

Bye