Function is_Prime(n As Integer) As Boolean
Dim division As Integer
Dim nTak As Integer
' kontrollerar om talet är mindre än 2
' om så är fallet stängs funktionen
If n < 2 Then
Exit Function
End If
' Om n är större än 3 körs denna if-satsen
If n > 3 Then
' Om det blir något över efter division med
' 2 körs denna if-sats som avslutar funktionen
' vilket innebär att talet n inte kan vara ett
' primtal, talet 2 är sedan tidigare if-sats
' undantagen
If n Mod 2 = 0 Then Exit Function
' Om det blir något över efter division med
' 3 körs denna if-sats som avslutar funktionen
' vilket innebär att talet n inte kan vara ett
' primtal, talet 3 är sedan tidigare if-sats
' undantagen
If n Mod 3 = 0 Then Exit Function
End If
' Dividerar med 5, 7, 9 etc , alltså alla udda tal
' för att få bort icke-primtal som 25, 35, 55, 49 etc.
' Startar division med 5, eftersom
division = 5
' Genom att ta talet n dividerat med 2 får
' man do-loopen till att köra inom hela intervallet
' dvs. mellan Min och Max-värde från cmdGenereraPrimtal
' utan maxvärde skulle den bli oändlig
nTak = (n) / 2
' Kör Do-loopen så länge division är större än
' nTak
Do Until division > nTak
' If-satsen avslutas då det inte blir något
' över efter divisionen, alltså Mod = 0
If n Mod division = 0 Then Exit Function
' ökar med 2 för varje gång loopen körs
division = division + 2
Loop
' Om talet klarat alla test är det ett primtal
is_Prime = True
End Function