Zufallsauswahl - Doppelungen
12.11.2004 12:00:39
Dominik
Hab gestern schon mal meine Frage gestellt. Da meine Beispieltabelle laut Ulf "quasi aussaglos" war, hab ich sie etwas verändert: https://www.herber.de/bbs/user/13370.xls Vielleicht ist es diesesmal deutlicher. Und ich werd mal ein bißchen konkreter: zum Testen einer Suchfunktion innerhalb einer Datenbank und Abgleichung von Einträgen, muss ich einen Haufen unterschiedliche Blechtexte erstellen. Das Einfügen von synomen Begriffen in manuell erstellte Satzteile ist mit Excel ganz gut hinzubekommen.
Die Sätze (je Zelle ein Satz) unterscheiden sich also zwar in ein, zwei Wörtern, ich würde aber aufgrund ähnlicher Satzteile auch gerne die Sätze in ihrer Reihenfolge durchmischen.
Jede Zelle einer Zeile soll ausgewählt werdenund in einem anderen Tabellenblatt in der selben Zeile (Zeile 1 in Tabelle1 --> Zeile 1 Tabelle2) ausgegeben werden. Dabei soll keine Zelle aus Tabelle1 wegfallen und keine doppelt vorkommen. Und das bekomm ich so nicht hin! Kann mir jemand helfen. Bin leider nicht fit in VBA.
Hier im Forum hab ich ein Statement gefunden, dass ein ähnliches Problem behandelt. Vielleicht bringt das je jemanden auf eine Idee?
Sub Zufall()
Dim intZeile As Integer, intZ As Integer
Dim intI As Integer, strFeld(200) As String, strTemp As String
intZeile = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
For intI = 1 To intZeile
strFeld(intI) = Sheets("Tabelle1").Cells(intI, 1).Value
Next intI
For intI = 1 To intZeile
Randomize Timer
intZ = Int((intI * Rnd) + 1)
strTemp = strFeld(intZ)
strFeld(intZ) = strFeld(intZeile + 1 - intI)
strFeld(intZeile + 1 - intI) = strTemp
Next intI
For intI = 1 To 6
Sheets("Tabelle1").Cells(intI, 2).Value = strFeld(intI)
Next intI
End Sub
Der Thread: https://www.herber.de/forum/archiv/276to280/t279161.htm
Wenn mir jemand helfen könnte wäre ich super dankbar. Bin ich auch so schon, dafür dass ihr euch die Zeit genommen habt, bis hier her zu lesen :-).
Gruß Dominik