Primzahlen bestimmen
14.06.2018 17:04:44
Idence
ich habe folgenden Code geschrieben um Primzahlen gelb und Nicht-Primzahlen rot zu markieren. _ Das mathematische Verfahren ist nach dem Prinzip vom "Sieb des Eratosthenes". Die Zahlen sind von oben nach unten in der Spalte A.
Sub Sieb()
Dim n, zahl As Integer
Dim rngSuche As Range
Dim gefunden As String
On Error Resume Next
n = 1
Do While Cells(n, 1) ""
If Cells(n, 1).Interior.Color 9013759 Then 'Farbe gelb
'erste Primzahl markieren
Cells(n, 1).Interior.Color = 10223615 'Farbe rot
'seine Vielfache bestimmen
Do While gefunden "nein"
If zahl = 0 Then
zahl = Cells(n, 1)
End If
zahl = zahl + Cells(n, 1)
'Suche nach Zahl
Set rngSuche = Tabelle1.Range("A1:A1000").Find(what:=zahl, LookIn:=xlValues) _
_
_
'Rotfärbung, wenn gefunden
If Not rngSuche Is Nothing Then
Cells(rngSuche.Row, 1).Interior.Color = 9013759
Else
gefunden = "nein"
End If
Loop
n = n + 1
gefunden = ""
zahl = 0
Else
n = n + 1
End If
Loop
MsgBox "fertig"
End
Bis Zahl 1001 ermittelt dieser Code die richtigen Primzahlen, doch ab dieser Zahl glaubt er, _
dass alles nur noch Primzahlen sind.
Hat jemand eine Idee, woran dies liegen könnte?
Gruß
Idence
Hier die Datei:
https://www.herber.de/bbs/user/122130.xlsm _
_
_
a>