Das folgende Makro ermittelt Zufallszahlen. Jede Zahl kommt dabei jedoch nur ein einziges Mal vor.
Sie geben beim Programmstart einfach die gewünschte Menge an Zufallszahlen an. Möchten Sie z. B. Zufallszahlen zwischen 1 und 20 ermitteln, dann erfassen Sie in der InputBox die Zahl 20.
Anschließend werden in Spalte B ab der Zelle B1 die Zahlen 1 bis 20 in zufälliger Reihenfolge aufgelistet, wobei jede Ziffer nur ein einziges Mal vorkommt. Es wird also ausgeschlossen, dass sich Zahlen wiederholen.
Public Sub zufallszahl() Dim zahl(10000) As Integer Dim zahlneu As Integer anzahl = InputBox("Wieviele Zufallszahlen sollen ermittelt werden?") 'Zufallszahl 1 bis 28 ermitteln For i = 1 To anzahl zahl(i) = Int((anzahl * Rnd) + 1) zahlneu = zahl(i) 'Auf doppelte Zahlen prüfen und neue Zahl berechnen For n = 1 To i - 1 If zahl(n) = zahlneu Then zahl(i) = Int((anzahl * Rnd) + 1) i = i - 1 End If Next n 'Zahlen in Spalte B schreiben Sheets(1).Cells(i, 2).Value = zahl(i) Next i End Sub