Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1876to1880
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
Zufällige Zelle auswählen
27.03.2022 15:51:09
Ingo
Hallo
Ich habe eine Excel Tabelle mit ca. 1000 Zeilen. Die Anzahl der Zeilen ändert sich immer wieder mal. Es kommen also welche hinzu oder werden gelöscht. Es gibt aber keine leeren Zeilen in der Tabelle.
Nun möchte ich gerne mit einem Makro erreichen, dass zufällig einer der Zellen aus Spalte A gewählt wird. Natürlich nur bei den Zeilen, die am Ende der Tabelle nicht leer sind.
Und was mir dabei besonders sichtig ist, dass alle Zeilen mit Inhalt bei jeder Makro-Auslösung immer genau gleich gewichtet werden. Es sollen also jedes Mal alle Zeilen die gleiche Chance haben, ausgewählt zu werden. Es sollen nicht irgendwie die Zeilen am Angang und/oder Ende schlechtere oder bessere Chancen haben, als die im mittleren Bereich.
Da ich selber VBA eigentlich fast nur mit dem Makrorecorder "kann", würde ich mich da über Eure Hilfe riesig freuen.
Gruß
Ingo

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zufällige Zelle auswählen
27.03.2022 15:57:53
Daniel
Hi
Cells(Worksheetfunction.RandBetween(1, Worksheetfunction.CountA(Columns(1))), 1).Select
Gruß Daniel
AW: Zufällige Zelle auswählen
27.03.2022 16:11:13
Ingo
Hallo Daniel
Ich hatte leider doch noch was vergessen. Entschuldige bitte.
Es sollen nur Zeilen berücksichtigt werden, bei denen die Spalte 19 nicht leer ist.
Gruß
Ingo
AW: Zufällige Zelle auswählen
27.03.2022 19:34:27
Ingo
Hallo
Bitte entschuldige, Doch, natürlich danke ich auch Dir sehr für Deine Hilfe.
Wäre es für Dich in Ordnung, den Code für das Makro hier in eine Antwort zu posten?
Ich öffne nicht so gerne Excel-Dateien aus mir unbekannten Quellen. Ich hoffe, Du bist mir da jetzt nicht böse.
Gruß
Ingo
Anzeige
AW: Zufällige Zelle auswählen
27.03.2022 19:38:23
onur

Private Sub UserForm_Activate()
Dim ti
Do
DoEvents
TextBox1.Text = Time
TextBox2.Text = Date
Me.Repaint
ti = Timer
While Timer - ti 

AW: Zufällige Zelle auswählen
27.03.2022 19:49:45
Ingo
Hallo
Hmmm, das verstehe ich nun leider garnicht. Das hat doch mit meinem Anliegen, eine Zelle in Spalte A per Zufall auszuwählen, nichts zu tun. Oder stehe ich da jetzt irgendwie auf dem Schlauch?
Gruß
Ingo
AW: Zufällige Zelle auswählen
27.03.2022 19:51:49
onur
Sorry, falsches Makro erwischt:

Private Sub CommandButton1_Click()
Dim lz, ze
Randomize Timer
lz = Cells(Rows.Count, 1).End(xlUp).Row
Do
ze = Rnd(Timer) * lz + 1
Loop While Cells(ze, 19) = ""
Cells(ze, 1).Select
End Sub

Anzeige
Zufall bei beiden Methoden gleichwertig?
27.03.2022 20:07:04
Ingo
Hallo
Dein Makro arbeitet ja mit Randomize Timer. Und das vom Daniel mit RandBetween. Sind die beiden Methoden denn sozusagen gleichwertig, was den Zufall angeht?
Ich frage, weil ich vor längerer Zeit mal irgendwo gelesen hatte, dass es bei bestimmten Methoden sowas gibt, wie eine kleinere Berücksichtigung der mittleren Zeilen der Tabelle. Also so, dass eben nicht alle Zeilen jedes Mal exakt die gleiche Chance haben, ausgewählt zu werden.
Gruß
Ingo
AW: Zufall bei beiden Methoden gleichwertig?
27.03.2022 20:35:03
onur
Für deine Ansprüche reicht die Zufälligkeit beider Versionen allemal.
Hier die Zufallsverteilung meines Makros mit 20 verschiedenen Zahlen bei 20 Mill. Durchgängen:

1		1000034
2		1000760
3		1000224
4		1000403
5		999861
6		999959
7		1000136
8		999522
9		999687
10		1000040
11		1000082
12		999713
13		999504
14		999892
15		999705
16		999793
17		999367
18		1001137
19		1000039
20		1000142

Anzeige
AW: Zufall bei beiden Methoden gleichwertig?
27.03.2022 21:23:06
onur
Hier die Ergebnisse mit Zufallsbereich (ähnliche Ergebnisse, nur seltsamerweise fast 30 mal langsamer, obwohl Excelfunktionen in der Regel schneller arbeiten als Makros) bei einer Rechenzeit von 142,5 s statt 5,05 s:

1		1000707
2		1000890
3		1000694
4		1000086
5		999272
6		1000317
7		1001112
8		998281
9		999917
10		999927
11		999636
12		1000219
13		1000511
14		1000283
15		998309
16		999469
17		1000145
18		999625
19		999464
20		1001136

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige