Anzeige
Archiv - Navigation
340to344
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
340to344
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zufällige auswahl

Zufällige auswahl
19.11.2003 15:15:53
M4rkus
Hallo,

ich benötige ein ganz kleines VBA Progrämmchen!!

hab aber keine
Ahnung in vba!!!

also ich hab in Zeile A1 - A40 Namen stehen!!

nun möchte ich, für ne Weihnachtsfeier, mithilfe von vba die Namen die in a stehen nach b kopieren allerdings in zufälliger Reihenfolge!! und mit der Bedingung, dass kein Name genau hinter in die gleiche Zeile kommt wie er stand sonnst müsste ja jemand mit sich selbst spielen(:-) )

also ich hoffe ihr habt es verstanden!!

Kann mir wer helfen?!?

nochmals etwas genauer!!

hab mal ein Roulettespiel mit VBA-gemacht das war in so ne Script für VBA drinnen, da wurde auch ne Zufalszahl ermittelt, des müsste doch gehen dass er von a1-a40 zufällig eine Zelle auswählt und diese dann in b1 setzt dann die nächste auswählt und diese in b2 setzt und das ganze sooft wiederholt bis jeder Name der in a1-a40 stand nun in b1-b40 steht

mit der einzigen Vorraussetzung, dass jeder Name nur einmal ausgewählt wird und nicht an die gleiche Stelle in b kommt wie er in a steht!!

Ich bitte um Hilfe

allerfreundlichste Grüße

Markus

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zufällige auswahl
19.11.2003 15:49:26
Michael Brueggemann
Hallo M4rkus,

wie waere es damit:


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


CIAO
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige