Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
684to688
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
684to688
684to688
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zufallzahlen per VBA

Zufallzahlen per VBA
22.10.2005 06:58:30
Erich
Hallo EXCEL-Freunde,
aus dem Forum habe ich einen Code, der Zufallzahlen ermittelt. Diesen habe ich insofern
angepasst, dass ich per Inputbox eingeben kann, bis zu welcher Zahl der Zufall
ermittelt werden soll. Der Zufall soll insgesamt 5x hintereinander ausgeführt werden.
Da ich eine Schleife nicht erstellen konnte, habe ich den Code 5x hintereinander
kopiert und jeweils die Startzelle angepasst. allerdings kommt die Fehlermeldung
Laufzeitfehler 9 bei der Zeile:
zuzahl(allezahlen) = allezahlen, wenn es in die 2. Runde geht; die erste Ziehungsrunde
funktioniert. Hier mein aktueller Code:
Sub Zufallzahleninput()
Randomize Timer
Dim Zahlmax As Integer
ReDim zuzahl(66) As String
Dim zahl(66) As Variant
Dim endeindex As Integer
Dim allezahlen As Integer
Dim ziehung As Integer
Dim gezogen As Integer
Dim zaehler1 As Integer
Zahlmax = InputBox("Bis zur Zahl")
endeindex = Zahlmax
'' 1. Ziehung
For allezahlen = 1 To Zahlmax
zuzahl(allezahlen) = allezahlen
Next allezahlen
For ziehung = 1 To Zahlmax
gezogen = Int(Rnd * endeindex) + 1
zahl(ziehung) = zuzahl(gezogen)
zuzahl(gezogen) = zuzahl(endeindex)
endeindex = endeindex - 1
ReDim Preserve zuzahl(endeindex)
zaehler1 = zaehler1 + 1
Cells(1, zaehler1) = zahl(ziehung)
Next ziehung
'' 2. Ziehung
For allezahlen = 1 To Zahlmax
zuzahl(allezahlen) = allezahlen
Next allezahlen
For ziehung = 1 To Zahlmax
gezogen = Int(Rnd * endeindex) + 1
zahl(ziehung) = zuzahl(gezogen)
zuzahl(gezogen) = zuzahl(endeindex)
endeindex = endeindex - 1
ReDim Preserve zuzahl(endeindex)
zaehler1 = zaehler1 + 1
Cells(2, zaehler1) = zahl(ziehung)
Next ziehung
'' 3. Ziehung
For allezahlen = 1 To Zahlmax
zuzahl(allezahlen) = allezahlen
Next allezahlen
For ziehung = 1 To Zahlmax
gezogen = Int(Rnd * endeindex) + 1
zahl(ziehung) = zuzahl(gezogen)
zuzahl(gezogen) = zuzahl(endeindex)
endeindex = endeindex - 1
ReDim Preserve zuzahl(endeindex)
zaehler1 = zaehler1 + 1
Cells(3, zaehler1) = zahl(ziehung)
Next ziehung
'' 4. Ziehung
For allezahlen = 1 To Zahlmax
zuzahl(allezahlen) = allezahlen
Next allezahlen
For ziehung = 1 To Zahlmax
gezogen = Int(Rnd * endeindex) + 1
zahl(ziehung) = zuzahl(gezogen)
zuzahl(gezogen) = zuzahl(endeindex)
endeindex = endeindex - 1
ReDim Preserve zuzahl(endeindex)
zaehler1 = zaehler1 + 1
Cells(4, zaehler1) = zahl(ziehung)
Next ziehung
'' 5. Ziehung
For allezahlen = 1 To Zahlmax
zuzahl(allezahlen) = allezahlen
Next allezahlen
For ziehung = 1 To Zahlmax
gezogen = Int(Rnd * endeindex) + 1
zahl(ziehung) = zuzahl(gezogen)
zuzahl(gezogen) = zuzahl(endeindex)
endeindex = endeindex - 1
ReDim Preserve zuzahl(endeindex)
zaehler1 = zaehler1 + 1
Cells(5, zaehler1) = zahl(ziehung)
Next ziehung
End Sub

Besten Dank für eine Hilfe!
mfg
Erich
EXCEL-Shareware und Freeware: http://www.toolex.de
Private Tippgemeinschaft für Lotto oder KENO: http://www.kenostrategen.de

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zufallzahlen per VBA
22.10.2005 07:26:46
Aton
Hallo
Endindex hat beim lauf den wert -1
Was solln die redims
Was wilst überhaupt machen
Gruß Aton
AW: Wie wärs mit dem
22.10.2005 07:46:13
Aton
Hallo
Dim Zahlmax As Integer
Dim endeindex As Integer
Dim allezahlen As Integer
Dim ziehung As Integer
Dim gezogen As Integer
Dim zaehler1 As Integer, Ze As Integer
Sub Zufallzahleninput() Randomize Timer Zahlmax = InputBox("Bis zur Zahl") endeindex = Zahlmax For Ze = 1 To 5 For ziehung = 1 To Zahlmax Cells(Ze, ziehung) = Int(Rnd * endeindex) + 1 Next ziehung Next Ze End Sub
gruß Aton
AW: Wie wärs mit dem
22.10.2005 08:04:21
Erich
Hallo Aton,
genau das wars!!
Die Lösung ist natürlich super!!
Allerbesten Dank!!
mfg
Erich
EXCEL-Shareware und Freeware: http://www.toolex.de
Private Tippgemeinschaft für Lotto oder KENO: http://www.kenostrategen.de
Anzeige
Doch noch ein Problem
23.10.2005 08:14:46
Erich
Hallo EXCEL-Freunde,
beim ausführen des Codes werden einzelne Zahlen auch mehrmals per Zufall ausgewählt;
kann man das so einstellen, dass jede Zahl wirklich nur einmal vorkommt?
Besten Dank!
mfg
Erich
EXCEL-Shareware und Freeware: http://www.toolex.de
Private Tippgemeinschaft für Lotto oder KENO: http://www.kenostrategen.de

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige