Primzahlen
21.05.2008 03:53:00
Mustafa
folgender Code ermittelt aus dem Bereich A1:J100, in dem die Zahlen von 1 bis 1000 stehen, die Primzahlen heraus und markiert die Zellen rot.
Falls jemand die Tabelle kurz nachbaun möchte, in A1 darf nicht 1 stehen weil dann alle Zellen rot markiert werden.
Dort dann einfach Max(J:J) reinschreiben, weil dort ein Wert größer 0 stehen.
In diesem Falle würde dort 1000 stehen.
Option Explicit
Sub primzahl()
Dim Zelle1 As Range, Zelle2 As Range
Dim Bereich As Range
Dim Ergebnis As Long
Cells(1, 11) = Time
Application.ScreenUpdating = False
Set Bereich = Range("A1:J100")
For Each Zelle1 In Bereich
For Each Zelle2 In Bereich
If Intersect(Zelle1, Zelle2) Is Nothing Then
Ergebnis = Zelle2 Mod Zelle1
If Ergebnis = 0 Then
Zelle2.Interior.ColorIndex = 3
End If
End If
Next
Next
Application.ScreenUpdating = True
Cells(1, 12) = Time
End Sub
Nur dauert der Code bei meinem Rechner 1:02 minuten.
Kann man den Code etwas "Beschleunigen"
Gruß Aus der Domstadt Köln.
Vielen Dank jetzt schon an alle Helfer.