Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1780to1784
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
Inhaltsverzeichnis

Zufallszahl - Werte ausschließen

Zufallszahl - Werte ausschließen
10.09.2020 10:24:18
Julian
Moin zusammen,
auf Knopfdruck (Makro) soll eine Zufallszahl zwischen 1 und 1000 in Tabellenblatt 1, E2 geschrieben werden. Dafür habe ich folgenden VBA-Code, der gut funktioniert:
Worksheets("Tabelle1").Range("E2").Value = Int((1000 - 1 + 1) * Rnd + 1)
Danach soll nichts weiter geschehen. Die Zahl bleibt solange in E2 stehen, bis ich wieder das Makro aktiviere und die Zahl mit einer neuen Zufallszahl überschrieben wird.
Jetzt kommt noch folgende Bedingung hinzu:
In Tabellenblatt 2 ist eine Liste, Spalte A:A mit n Zahlen zwischen 1 und 1000. Diese Liste wird unabhängig von dem Zufallsgenerator laufend ergänzt. Sobald in dieser Liste eine Zahl auftaucht, beispielsweise die 67, darf der Zufallsgenerator die 67 nicht mehr ausgeben, usw.
Leider sind meine VBA-Kenntnisse bescheiden. Ich bin mir aber sicher, dass ich eine Art DO LOOP brauche, die so lange eine Zufallszahl ermittelt, bis er eine Zahl hat, die nicht in der Liste in Tabellenblatt 2 steht. Diese Zahl schreibt er dann in Tabelle 1, E2 rein. Leider hat mir meine deutsch- und englischsprachige Google-Suche nicht viel geliefert, was ich nutzen und ggf. anpassen konnte.
Könnt ihr mir weiterhelfen?
Vielen Dank!!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zufallszahl - Werte ausschließen
10.09.2020 10:29:12
Joachim
Mach es umgekehrt.
Schreib in eine Liste alle Zahlen und lösche die, die nicht mehr gezogen werden sollen.
Dann suchst Du eine Zufallszahl aber nicht zw. 1 und 1000 sondern zw. 1 und z.B. 990 wenn schon 10 Zahlen gestrichen sind.
Dann suchst Du mit Rang nach der Zahl, die deiner Zufallszahl zugeordnet ist.
OK?
Gruß
AW: Zufallszahl - Werte ausschließen
10.09.2020 11:30:41
Julian
Hi Joachim,
Danke für deine schnelle Antwort! Für das, was ich vorhabe, ist dein Vorgehen eher ungeeignet. Insgesamt wäre es für mich einfacher, wenn der Zufallsgenerator um die Liste eingeschränkt wird. Die Liste mit den einzuschränkenden zahlen ist auch bereits automatisiert. Das letzte Puzzlestück ist jetzt der Zufallsgenerator.
Viele Grüße!
Anzeige
AW: Zufallszahl - Werte ausschließen
10.09.2020 11:38:59
Daniel
Hi
im Prinzip so:
DO
x = Worksheetfunction.RandBetween(1, 1000)
Loop Until Worksheetfunction.CountIf(Sheets("Tabelle2").Columns(1), x) = 0
Range("E2").value = x
wenn du ganzzahlige Zufallszahlen brauchst, ist die Excelfunktion Zufallsbereich einfacher und sie erfordert kein Randomize, um sich wiederholende Zahlenfolgen nach einem Neustart zu vermeiden.
sollte es mal vorkommen können, dass wirklich alle möglichen Zahlen ausgeschlossen sind, müsste man das vorab prüfen, sonst landest du in einer Endlosschleife
Gruß Daniel
AW: Zufallszahl - Werte ausschließen
10.09.2020 15:13:07
Julian
Hi Daniel,
vielen, vielen Dank! Funktioniert perfekt! Konnte noch ein, zwei Dinge für meine Bedürfnisse anpassen, aber dein Code war genau das, was ich gesucht habe. Ich muss mir mal dringend die VBA Syntax raufschaffen...
Danke!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige