Excel Zufalltabelle?

4 Antworten

Zufallsgenerator, bei dem doppelte Werte verhindert werden sollen, kam neulich mal in Lottoform.

Sub lotto()
For i = 1 To 6
Cells(1, i).Value = Int((49 * Rnd) + 1)
While WorksheetFunction.CountIf(Range(Cells(1, 1), Cells(1, 6)), Cells(1, i).Value) > 1
Cells(1, i).Value = Int((49 * Rnd) + 1)
Wend
Next
End Sub

Wäre für Deinen Fall noch an drei Stellen zu ändern:

for i=1 to 25 da Du 25 Werte willst
int(78 *rnd) da ja Zahlen bis 78 ermittelt werden sollen.

Das Makro liefert nur die Zahlen, da müsstest Du die Worte noch über Formel hinzunehmen oder den Ablauf von geri3d verwenden. Hab ich selbst nicht getestet, aber wenn es so funktioniert, wäre es die bessere Lösung, da nicht nur die Zufallswerte, sondern auch die Wortliste generiert wird.

In VBA könnte eine simpel gestrickte Lösung so aussehen:

Sub Mischen()

Dim i As Integer
Dim Zeile As Integer
Dim Zufall As Integer
Dim Gezogen As Boolean
Dim Liste(79) As Integer

Zeile = 1
Do While Zeile < 26
Gezogen = False
Zufall = Int(Rnd() * 78) + 1
For i = 1 To UBound(Liste)
If Liste(i) = Zufall Then
Gezogen = True
Exit For
End If
Next
If Not Gezogen Then
Liste(Zeile) = Zufall
Cells(Zeile, 2) = Cells(Zufall, 1)
Zeile = Zeile + 1
End If
Loop

End Sub

Verbesserungsvorschläge sind wilkommen.

Woher ich das weiß:Berufserfahrung – Softwareentewickler / Unternehmensberater bei CSDIT iR

schreib ein VBA Script welches die Zahlen befüllt . Nur mit Formel gehts nicht wirklich .


Ich habe 78 Wörter von A1 bis A78. Was muss ich ins das VBA Scrpit schreiben das ich 25 zufällige, nicht doppelte Wörter in B1 bis B25 bekomme?