- Würfel
Code: Alles auswählen
Option Explicit
Sub RandSixDices()
'Deklaration und Eingabe
Dim i As Integer, iMax As Integer, r As Integer, s As Integer, c As Integer
iMax = 6 'höchste Augenzahl
s = 10 'Anzahl Würfe mit 6 Würfeln
Cells.Clear
For c = 1 To s 'eine Spalte pro Wurf
For i = 1 To iMax 'eine Zeile pro Würfel
r = WorksheetFunction.RandBetween(1, 6)
Cells(i, c) = r 'Ausgabe
Next i
Next c
End Sub
- Lottozahlen
Code: Alles auswählen
Option Explicit
Sub RandMarkSix()
'Deklaration und Eingabe
Dim aValues(1 To 49) As Integer 'Konstante erforderlich!
Dim aRand(1 To 49, 1 To 1) 'Konstante erforderlich!
Dim i As Integer, r As Integer, n As Integer, iSix As Integer
n = UBound(aValues) 'Konstante in Variable zur Weiterverbeitung
iSix = 6 'iSix aus n
Cells.Clear
'Verarbeitung
For i = 1 To n 'aValues indizieren
aValues(i) = i
Next i
For i = n To 1 Step -1 'aValues zufällig füllen
r = Int((i * Rnd) + 1)
aRand(i, 1) = aValues(r)
aValues(r) = aValues(i)
Next i
'Ausgabe
Cells(1, 1).Resize(UBound(aRand)) = aRand 'alle Werte
For i = iSix + 1 To UBound(aRand) 'nach iSix filtern
Cells(i, 1).Clear
Next i
End Sub
Nachtrag: Die Mappe zeigt noch zwei Optionen: msgbox für den MarkSix-Filter und Werteverteilung für die SixDices