Excel Zufalltabelle?
Ich will in Excel ein Bingo erstellen, habe ich auch soweit mit der Formel :"index(A1:A78; Zufallsbereich(1;78)) auch hinbekommen
Ich bekomme 25 zufällige Wörter in meine Tabelle.
Problem ist jetzt manche werden doppelt rein kopiert. Wie kann ich das verhindern??
Vorab vielen Dank für eure Hilfe
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.
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?