Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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

Zufallszahlen über Checkboxen bestimmen

Zufallszahlen über Checkboxen bestimmen
13.11.2022 18:49:14
Fritz
Hallo, ich bin VBA-Neuling und möchte ein Projekt erstellen, bei dem ich nicht weiterkomme:
Ich habe zwei Spalten. In der Linken sind 75 Einträge, in der rechten zugeordnete Zahlen (1-75). Die Einträge sind alphabetisch sortiert, das heißt die Zahlen sind durcheinander.
Dann habe ich noch zehn Zellen, die mir als Ausgabefeld dienen soll. Wenn ein Makro ausgeführt wird, soll in jeder der zehn Zellen eine Zufallszahl (1-75) erscheinen (Mehrfachnennungen stören nicht). Ein passendes Makro habe ich in einem Forum gefunden:

Sub Zufallszahlen()
Dim Bereich As Range
Dim zelle As Range
Set Bereich = Range("A1:A10")
For Each zelle In Bereich
zelle.Value = Int((75 * Rnd) + 1)
Next zelle
End Sub
Jetzt möchte ich aber die ausgegebenen Zufallszahlen einschränken. Neben den Einträgen und Zahlen soll eine dritte Spalte mit Kontrollkästchen stehen. Das Makro soll mir dann nur die Zahlen liefern, bei denen das betreffende Kontrollkästchen aktiviert ist.
Ich weiß nicht, wie man hier Bilder hochladen kann, deswegen stelle ich einmal so dar, wie ich es mir vorstelle:
O ----- Anton ----- 15 ----- 10
X ----- Brigitte ---- 21 ----- 5
X ----- Casten ---- 10 ---- 10
X ----- Dora -------- 5 ----- 5
O ----- Friedrich -- 4 ----- 10
Bei den mittleren drei Zeilen ist die CheckBox an, das umfasst die Zahlen 21, 10 und 5. Rechts im Ausgabefeld werden diese drei Zahlen dann zufällig angezeigt. Die Zahlen 15 und 4 kommen nicht vor.
Hättet Ihr Vorschläge, wie man das in Excel hinbekommen könnte?

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

Betreff
Datum
Anwender
Anzeige
AW: Zufallszahlen über Checkboxen bestimmen
13.11.2022 19:03:40
onur
"Ich weiß nicht, wie man hier Bilder hochladen kann" Was sollen wir denn mit Bildern? Anhand der Bilder eine Datei nachbauen ?
Was wir brauchen, ist eine (Beispiels-) Datei.
AW: Zufallszahlen über Checkboxen bestimmen
13.11.2022 19:19:15
Daniel
Hi
wenn du Ganzzahlige Zufallszahlen benötigst, verwende die Excelfunktion Zufallsbereich(x;y)
wobei du mit x und y den Bereich bestimmen kannst, aus dem die Zufallszahl ausgewählt wird: Zufallsbereich(1;10) liefert eine Zahl zwischen 1 und 10)
auch in VBA solltest du das verwenden: Worksheetfunction.RandBetween(x, y)
dh dein erstes Makro schreibst du besser so:

with Bereich
.FormulaR1C1 = "=RandBetween(1,75)
.Formula = .value
end with
bzw, wenn man es als Schleife schreiben will:

for each Zelle in Bereich
Zelle.Value = Worksheetfunction.RandBetween(1, 75)
next
die VBA-Funktion RND hat großen Nachteil, dass nach jedem Öffnen der Datei nacheinander immer die selben Zahlen als Ergebnis liefert.
Das Problem ist, dass Computer keine echten Zufallszahlen berechnen können. Damit RND nicht immer die selben Zahlen ausgibt, gibt es einen Startwert, den man angeben kann, damit andere Werte berechnet werden, das macht man über die Funktion Randomize x. Und damit auch dieses x nicht immer das selbe ist (den bei gleichem x bekommt man auch immer gleiche Zahlen), verwendet man die Uhrzeit als Startwert,
dh man sollte, bevor man RND benutzt, einmal den Befehl

Randomize Timer
ausführen.
deine weiter frage habe ich noch nicht verstanden.
du kannst hier auch eine Datei hochladen.
Wie das geht, siehst du wenn du mal auf den Button "zum File-Upload" drückst.
Da ist eigentlich alles beschrieben, was man beachten muss um Dateien oder auch Bilder hochzuladen.
Wichtig wäre auch zu wissen, wie du bestimmen willst, welche Zahlen bei "x" und welche bei "o" ausgegeben werden sollen.
und verzichte auf Checkboxen in Zellen. Schreibe da nur 1/0 oder "x"/leer in die Zellen, aber keine Häkchen.
Das sieht nur gut aus, bringt sonst aber nichts außer Aufwand und Ärger.
Gruß Daniel
Anzeige
AW: Zufallszahlen über Checkboxen bestimmen
13.11.2022 23:17:37
Fritz
Ich habe eine Datei zur Veranschaulichung erstellt: https://www.herber.de/bbs/user/156166.xlsm
In der Tabelle findet man ein Kartenspielset. Jede Karte hat eine Nummer. Daneben ist ein Ausgabefeld. Betätigt man die Schaltfläche "Ausgabe" werden die Zellen mit zufälligen Zahlen gefüllt. Den Verbesserungsvorschlag mit Randbetween habe ich schon im Makro übernommen.
Was mir jetzt vorschwebt ist, dass man einzelne Karten aus dem Spiel nehmen kann, indem man die Checkbox deaktiviert. Drückt man dann wieder auf "Ausgabe" sollen die Zellen nur noch mit Zahlen gefüllt werden, die noch im Spiel sind.
Gruß Fritz
Anzeige
AW: Zufallszahlen über Checkboxen bestimmen
15.11.2022 18:15:28
Fritz
Danke, ich habe mir die Datei mittlerweile angeschaut und es funktioniert genau so wie ich es mir vorgestellt hatte.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige