Hallo,
der folgende Code gehört in ein Standardmodul deiner Arbeitsmappe:
Sub zufallszahlen()
Dim lngAnzahl As Long
Dim lngAnzahlUO As Long
Dim arrZufallszahlen() As Long
Dim lngUntergrenze As Long
Dim lngObergrenze As Long
Dim lngLetzte As Long
Dim i As Long
Dim t As Long
Dim zTemp As Long
Dim lngZaehler As Long
'letzte beschriebene Zeile in Spalte A ermitteln
lngLetzte = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
'Falls letzte Zeile größer 6, dann Bereich ab Zelle A7 löschen
If lngLetzte > 6 Then
Range("A7:A" & lngLetzte).ClearContents
End If
'Untergrenze einlesen
lngUntergrenze = Range("A1").Value
'Obergrenze einlesen
lngObergrenze = Range("A2").Value
'Anzahl der Zufallszahlen einlesen
lngAnzahl = Range("C2").Value
'Anzahl der Zahlen zwischen Untergrenze und Obergrenze ermitteln und um 1 erhöhen, da Untergrenze ja auch Zufallszahl sein soll
lngAnzahlUO = lngObergrenze - lngUntergrenze + 1
'Feld für Zufalls redimensioren
ReDim arrZufallszahlen(lngAnzahlUO)
'zuerst einmal alle Zahlen zwischen Untergrenze und Obergrenze in Feld schreiben
For i = lngUntergrenze To lngObergrenze
lngZaehler = lngZaehler + 1
arrZufallszahlen(lngZaehler) = i
Next i
'nun alle Zahlen zufällig mischen
For i = lngAnzahlUO To 1 Step -1
Randomize Timer
t = Int((i * Rnd) + 1)
zTemp = arrZufallszahlen(t)
arrZufallszahlen(t) = arrZufallszahlen(i)
arrZufallszahlen(i) = zTemp
Next i
'nun die gewünschte Anzahl von Zahlen ausgeben
For i = 1 To lngAnzahl
Cells(6 + i, 1) = arrZufallszahlen(i)
Next i
End Sub
Das Makro kannst du über die Entwicklertools - Makros starten oder z.B. einer Befehlsschaltfläche zuordnen.
Gruß
M.O.