Registriert seit: 28.02.2018
Version(en): 2010
Hallo zusammen :43:,
suche einen Code oder eine Formel, mit dem sechs Zufallszahlen für Lotto 6 aus 49 in spezieller Weise generiert werden. Jede Zufallszahl sollte separat gezogen werden. Die Anzahl der Erzeugung soll in einer Zelle eingetragen werden können: z. B. soll für jede der sechs Zahlen 100.000 Mal gelost/simuliert werden. Also Excel erstellt 100.000 Mal eine Zufallszahl und überträgt diese in eine andere Zelle; dann macht es das 100.000 Mal mit der zweiten Zahl bis zur sechsten.
Hat jemand einen Vorschlag, wie das aussehen könnte?
:90:
Registriert seit: 13.04.2014
Version(en): 365
Hi,
was soll das werden? Ich kann Dir gerade nicht folgen.
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
Hi,
Code:
Option Explicit
Sub ll()
Randomize
Dim arr(1 To 100000, 1 To 6)
Dim lngR As Long, y As Integer, i As Integer
For lngR = 1 To 100000
For i = 1 To 6
arr(lngR, i) = Int(49 * Rnd + 1)
For y = 1 To i - 1
If arr(lngR, i) = arr(lngR, y) Then
i = i - 1
Exit For
End If
Next
Next
Next
Range("A1:F100000").Value = arr
End Sub
lg Chris
Feedback nicht vergessen.
3a2920576572206973742064656e20646120736f206e65756769657269672e
Registriert seit: 28.02.2018
Version(en): 2010
Hallo Chris,
im Prinzip war deine Lösung gut :28:. Ich habs Mal mit 5.000.000 getestet. So viele Zeilen zu erstellen schafft Excel 2010 aber nicht und stürzt ab.
Geht das auch ohne Erstellung von so vielen Zellen, also dass die Auslosung in sechs Zellen stattfindet?
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
Hi,
Excel schaft auch keine 1.048.577 Zeilen.... da die Zeilenanzahl begrenzt ist auf 1.048.576
Natürlich könnte ich jetzt in 6 Zellen das 5 Mill. mal überschreiben lassen
aber mir entzieht sich dabei der Sinn. Wenn du so nett sein würdest und uns beschreibst was du eigentlich erreichen willst.....
ggf. kann ja jemand weiterhelfen, ich bin mal wieder offline für eine Weile.
lg Chris
Feedback nicht vergessen.
3a2920576572206973742064656e20646120736f206e65756769657269672e
Registriert seit: 28.02.2018
Version(en): 2010
01.03.2018, 16:46
(Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2018, 16:46 von Ser.Styven.)
Hallo Chris und Opa Edgar,
das soll halt quasi Lottoziehungen simulieren, nur eben nicht ein Mal, sondern viele Ziehungen. Mein Gedanke ist der:
es gibt ja schon Rechner im Inet, mit denen man emulieren kann, wie lange man bräuchte, um einen Sechser zu kriegen - die rechnen dann meist so 5.000 Jahre oder mehr aus. Ich will quasi dem zuvor kommen und viele Ziehungen spielerisch emulieren können - auch, wenn ein Mathematiker vom Kopf her sagen wird, dass alle Zufallszahlen statistisch gleich hohe Chancen haben, ob nun ein Mal oder 1.000.000 Mal generiert.
:21:
Registriert seit: 13.04.2014
Version(en): 365
Hi,
das Makro eben 5x durchlaufen lassen und in nebeneinanderliegende Bereiche schreiben:
Code:
Option Explicit
Sub ll()
Randomize
Dim arr(1 To 1000000, 1 To 6)
Dim lngR As Long, y As Integer, i As Integer, lngA As Long
For lngA = 1 To 5
For lngR = 1 To 1000000
For i = 1 To 6
arr(lngR, i) = Int(49 * Rnd + 1)
For y = 1 To i - 1
If arr(lngR, i) = arr(lngR, y) Then
i = i - 1
Exit For
End If
Next
Next
Next
Range(Cells(1, (lngA - 1) * 7 + 1), Cells(1000000, lngA * 7 - 1)).Value = arr
Erase arr
Next
End Sub
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 28.02.2018
Version(en): 2010
Hallo Opa Edgar,
du bist ein toller Opa! Vielen Dank für deine Hilfe und deine Mühe! Du hast meinen Wunsch erfüllt.
:19: