Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: Zahlen in Zellbereich zuf�llig anordnen

VBA: Zahlen in Zellbereich zuf�llig anordnen
20.08.2024 20:59:13
Fritz_W
Hallo Forumsbesucher,

ich bitte um Unterstuetzung der VBA-Experten bei der Umsetzung folgenden Vorhabens:
Im Tabellenblatt "Liste" soll - entsprechend der Zahl in Zelle J1 - in Spalte D ab Zelle D2 die entsprechenden Anzahl Zahlen zufaellig angeordnet werden.
Beispiel: Zahl in J1 = 50: Dann sollten im Zellbereich D2:D51 die Zahlen 1 bis 50 zufaellig "verteilt" werden.
Steht in J1 die Zahl 66, dann in D2:D67 die Zahlen 1 bis 66 per Zufallsauswahl.

Fuer eure Unterstuetzung vielen Dank im Voraus.

mfg
Fritz
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Zahlen in Zellbereich zuf�llig anordnen
20.08.2024 22:41:41
Zwenn
Hallo Onur,

da hatten wir wohl die gleiche Idee 😂 Du hast es nur etwas kürzer aufgeschrieben und das Change Event verwendet.

Viele Grüße,

Zwenn
AW: VBA: Zahlen in Zellbereich zuf�llig anordnen
20.08.2024 22:46:53
Onur
Nur dass du für jede Zelle solange Zufallszahlen generieren lässt, bis die Zahl nicht bereits gezogen wurde und ich die Zahlen 1-50 (z.B.) wie bei Karten einfach mische, bis sie zufällig genug sind. :)
Anzeige
AW: VBA: Zahlen in Zellbereich zuf�llig anordnen
20.08.2024 22:54:01
Zwenn
Jou, habe ich auch gerade gesehen. Habe mir Deine Lösung noch einmal genauer angesehen :-) Beide Lösungen liefern das gewünschte Ergebnis. Ist doch gut^^
AW: VBA: Zahlen in Zellbereich zufaellig anordnen
20.08.2024 22:37:17
Zwenn
Hallo Fritz,

folgendes Makro liest die gewünschte Anzahl von Zahlen aus der Zelle J1. Anschließend wird ein Array generiert, in das jede Zahl aus dem Intervall 1 bis J1 genau einmal eingetragen wird. Die Zahlen werden via Zufall generiert. Für jede Zahl wird geprüft, ob sie bereits im Array enthalten ist. Wenn ja, wird sie verworfen, wenn nein, wird sie ins Array aufgenommen. Wenn das Array mit der gewünschten Anzahl Zahlen gefüllt ist, wird es in die Tabelle geschrieben, aus der das Makro aufgerufen wurde. Dort ab Zelle D2 nach unten.



Sub ZufallsIntervall()

Dim sollZahlen As Long
Dim eineZahl As Long
Dim alleZahlen() As Long
Dim aktuelleZahl As Long
Dim i As Long
Dim fehlendeZahl As Boolean

sollZahlen = Cells(1, 10) 'Anzahl zu generierender Zahlen aus J1 auslesen

If sollZahlen > 0 Then
ReDim alleZahlen(sollZahlen - 1, 0)

Do
eineZahl = Int(Rnd * sollZahlen + 1)
fehlendeZahl = True

For i = 0 To aktuelleZahl - 1
If eineZahl = alleZahlen(i, 0) Then
fehlendeZahl = False
Exit For
End If
Next i

If fehlendeZahl Then
alleZahlen(aktuelleZahl, 0) = eineZahl
aktuelleZahl = aktuelleZahl + 1
End If
Loop Until alleZahlen(UBound(alleZahlen, 1), 0) > 0
Else
MsgBox "Anzahl gewünschter Zahlen muss größer als 0 sein"
End If

Range("D2:D" & sollZahlen + 1) = alleZahlen
End Sub


Viele Grüße,

Zwenn
Anzeige
AW: VBA: Zahlen in Zellbereich zufaellig anordnen
21.08.2024 06:49:28
Fritz_W
Hallo Onur und Zwenn

super, eure beiden Vorschläge funktionieren perfekt.
Lieben Dank für eure Hilfe.

mfg
Fritz
@Onur und Zwenn
21.08.2024 09:14:34
Fritz_W
Hallo Onur und Zwenn,

ich möchte mich, nachdem ich eure beiden Lösungsvorschläge ausgiebig getestet und mir den jeweiligen Code angesehen habe noch einmal melden.
Obwohl ich wenig von VBA verstehe, ist der Code jeweils so gut strukturiert, dass ich ihn jeweils auf veränderte Situationen anpassen konnte und die Makros so künftig wohl noch häufiger verwenden kann.
Ich will diese Nachricht daher auch noch einmal zum Anlass nehmen, mich noch einmal mal ausdrücklich ganz herzlich bei euch zu bedanken. So kompetente und tolle Lösungsvorschläge, ihr Helfer seid einfach großartig.

mfg
Fritz
Anzeige
gerne !
21.08.2024 11:06:39
Onur
Außer Konkurrenz …
21.08.2024 06:07:56
RPP63
Moin!
Gönne Dir ein neues Excel oder nutze Excel-Online.
Dann ist es ein simples
=SORTIERENNACH(SEQENZ(Zahl);ZUFALLSMATRIX(Zahl))
 DJ
1Liste7
25 
34 
41 
56 
62 
73 
87 
9  

ZelleFormel
D2=SORTIERENNACH(SEQUENZ(J1);ZUFALLSMATRIX(J1))


Gruß Ralf
Anzeige
AW: Außer Konkurrenz …
21.08.2024 06:51:09
Fritz_W
Hallo Ralf,
danke für den Hinweis.
Aber dafür brauchts wohl die Abo Version 365

mfg
Fritz
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige