Zufällige Auswahl2
20.11.2003 08:43:50
M4rkus
ja ich erläuter es nochmal kurz!!
also ich hab für ne weihnachtsfeier ne Liste mit 40 Leuten!!!
diese stehen alle in a1:a40 nun wollte ich einen code der mir die leute nach dem zufallsprinzip in b1:b40 schreibt!!!
an dieser stelle nochamls danke michael
hier der von michael erstellte und sehr gut dokumentierte code!!!
Sub Paare_finden()
Dim wks As Worksheet
Dim i, intZeile As Integer
Dim strVerwendet As String
' Zeiger auf gewuenschtes Worksheet setzen
Set wks = ThisWorkbook.Sheets("Tabelle1")
' Zielbereich initialisieren
wks.Range("B1:B40").ClearContents
' Zeilenzaehler fuer Zielbereich initialisieren
intZeile = 1
' erste Zufallszahl generieren
Randomize
' Schleife durchlaufen, so lange nicht alle Zellen im Zielbereich gefuellt
Do While IsEmpty(wks.Cells(40, 2))
' neue Zufallszahl zwischen 1 und 40 generieren
i = Int((40 * Rnd) + 1)
' wenn sich Wert in der gleichen Zeile von Quell- und Zielspalte
' unterscheiden, und die Zufallszahl nicht bereits verwendet wurde, dann
If wks.Cells(intZeile, 1).Value <> wks.Cells(i, 1).Value And _
InStr(1, strVerwendet, "$" & Format(i, "00")) = 0 Then
' Wert aus Quellzelle in Zielzelle uebernehmen
wks.Cells(intZeile, 2).Value = wks.Cells(i, 1).Value
' Zufallszahl in Vergleichsstring uebernehmen, um Vorkommen
' spaeter pruefen zu koennen
strVerwendet = strVerwendet & "$" & Format(i, "00")
' Zeilenzaehler fuer Zielspalte hochzaehlen
intZeile = intZeile + 1
End If
Loop
End Sub
klappt soweit ganz gut!!!
allerdings
ist noch ein fehler an der sache!!!
ich schreib ein ganz kurzes beispiel:
a1 = markus
a2 = dennis
a3 = steffen
a4 = klaus
so nun soll er die namen willkürlich in b schreiben !! (denkfehler von mir)
das ergebnis sah so aus
a1 = markus b1 = dennis
a2 = dennis b2 = steffen
a3 = steffen b3 = klaus
a4 = klaus b4 = markus
gut es sieht ja jedesmal anders aus!!!
folgender fehler mir (Markus) hat er nun ja dennis zugeteilt!! also sollte er mich automatisch auch bei dennis reinschreiben, damit paare entstehen!!!
so wie er das bis jetzt mach weiß ja keiner wer mit wem zusammen ist!!
ich eigentlich mit dennis aber dieser ja eigentlich mit klaus der wiederum eigentlich mit mir ......
ist dies möglich den code so zu verändern, dass dieser Fehler wegfällt?!?
Gruß
Markus