Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
564to568
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
564to568
564to568
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Array in Zufallsreihenfolge (Randomisieren)

Array in Zufallsreihenfolge (Randomisieren)
14.02.2005 14:13:28
Matthias
Hallo Herberaner,
ich suche nach einem möglichst effektiven Algorithmus (mögl. VBA) zum
Randomisieren von Arraywerten.
Kann mir jemand von Euch auf die Sprünge helfen?
merci
matthias

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

Betreff
Datum
Anwender
Anzeige
AW: Array in Zufallsreihenfolge (Randomisieren)
Ulf
Willst du die Werte zufällig erzeugen oder die Ausgabe der Werte zufällig?
Ulf
Randomisieren -> Reihenfolge verwürfeln : )
Matthias
Hallo Ulf,
Wie mann Zufallswerte generiert ist mir geläufig : )
Das Array beinhaltet keine Zufallswerte sondern normalverteilte Messwerte.
Diese sollen nun unverändert vom Wert in eine Zufallsreihenfolge verwürfelt werden.
Wie geht dat?
gruß
matthias
AW: Randomisieren -> Reihenfolge verwürfeln : )
Ulf
Wenns ein eindimensionaler Array ist, schaufle die Werte in einen zweidimensionalen um,
deren zweite Dimension Zufallszahlen sind und sortier den Array nach diesen Zufallszahlen.
Der Umweg über eine Tabelle dürfte ggf. etwas performanter sein.
Ulf
Anzeige
AW: Array in Zufallsreihenfolge (Randomisieren)
14.02.2005 14:43:14
paulst
hallo,
ich weis nicht, ob es das richtige ist aber versuch daoch mal folgendes.
Erzeuge zuerst ein Permutation (d.h. zahlen ohne Wiederholungen) und vertausche dann deine Einträge entsprechend der Positionsangaben.
Eine Permutation erhält man folgendermaßen

Sub zufall()
Dim rng As Range, rnall As Range
Dim irandomize As Integer
Set rngall = Range("A1:A6")
Randomize
rngall.ClearContents
For Each rng In rngall.Cells
irandomize = Int((6 * Rnd) + 1)
Do Until WorksheetFunction.CountIf(rngall, irandomize) = 0
irandomize = Int((6 * Rnd) + 1)
Loop
rng.Value = irandomize
Next rng
End Sub

(Code stammt aus dem forum und nicht von mir. Funktioniert aber)
Anzeige
AW: Array in Zufallsreihenfolge (Randomisieren)
Matthias
Die Mischung machts!
Danke Ulf, Danke Paul
Die Kombination von beidem hat mich zum Ziel gebracht!
Permutationen? - Da musste ich damals Kreide holen : )
gruß
matthias

113 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige