LordHexa Geschrieben 16. März 2005 Geschrieben 16. März 2005 GuMo zusammen, hab ein kleines Problem, das sich sicherlich einfach lösen lässt, aber irgendwie fehlt mir der Ansatz. Ich habe mehrer Einträge in einer Exceltabelle, die ich nun in Zufälliger Reihenfolge in verschiedene Textboxen einlesen möchte. Doppelte Einträge dürfen nicht existieren, sprich jeder Wert aus der Exceltabelle darf nur einmal in einer Textbox auftauchen und in keiner weiteren. Als Beispiel nehmen wir mal dies : Sagen wir ich habe in der Exceltabelle 6 Namen, die 6 Namen sollen in der UserForm auf 6 Textboxen aufgeteilt werden und das Ganze in einer zufälligen Reihenfolge. Zitieren
LordHexa Geschrieben 16. März 2005 Autor Geschrieben 16. März 2005 Okay, hab ne Lösung gefunden. Diese ist zwar nich grade elegant, aber sie erfüllt ihren Zweck Zitieren
Manfred.Becker Geschrieben 16. März 2005 Geschrieben 16. März 2005 Oh, jetzt bin ich wohl zu spät dran. :beagolisc Aber das hier hatte ich gerade fertig: Const ANZVALUES = 6 Private Sub CommandButton1_Click() Dim rowIndex%, colIndex%, index%, i% Dim itemName$ Dim zufall% Dim zArray(ANZVALUES) As Integer rowIndex = 1 'Startzeile (bitte anpassen!)' colIndex = 2 'Startreihe (bitte anpassen!)' Randomize Timer For i = 0 To ANZVALUES - 1 zArray(i) = -1 'Werte initialisieren' Next i For index = 0 To ANZVALUES - 1 Do zufall = Rnd(1) * 5 'Zufallswerte 0 bis 5' For i = 0 To ANZVALUES - 1 If zufall = zArray(i) Then zufall = -1 Exit For End If Next i Loop While zufall < 0 zArray(index) = zufall 'Zufallswert merken' itemName = "TextBox" & index + 1 UserForm1.Controls.Item(itemName).Text = Tabelle1.Cells(rowIndex + zufall, colIndex) Next index End Sub [/PHP] vielleicht bringt's ja noch was... Zitieren
LordHexa Geschrieben 16. März 2005 Autor Geschrieben 16. März 2005 Naja, jetzt bin ich schon etwas weiter mit dem Ganzen. Trotzdem Danke für deine Mühe! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.