Hallo liebe Mitglieder des VBA-Forums,
ich habe ein Problem mit einem Excel-VBA Code-Teil, den ich vor einiger Zeit im Internet gefunden habe (ich weiß leider nicht mehr von wem der Code stammt):
Const anz As Integer = 20
Dim i As Integer, fFeld(anz) As Integer, iTemp As Integer, iZ As Integer
For i = 1 To anz
fFeld(i) = i
Next i
For i = anz To 1 Step -1
Randomize Timer
iZ = Int((i * Rnd) + 1)
iTemp = fFeld(iZ)
fFeld(iZ) = fFeld(i)
fFeld(i) = iTemp
Next i
For i = 1 To anz
Cells(i, 1) = fFeld(i)
Next i
Im Code wird zuerst eine Konstante definiert (Integer, im Beispiel 20), und dann werden die Zahlen von eins bis zu dieser Zahl in zufälliger Reihenfolge angeordnet und in Spalte A des Tabellenblatts ausgegeben.
Ich brauche ebendiese zufällige Reihenfolge, allerdings möchte ich die Konstante nicht vorgeben, sondern die maximale Zahl über eine Inputbox einlesen. Wenn ich statt der Konstante eine Variable verwende, funktioniert aber der Code nicht. Gibt es eine Möglichkeit, im Verlauf des Scripts einer neuen Konstante den momentanen Wert einer Variablen zuzuweisen, oder hat vielleicht jemand eine andere/bessere Lösung?
mit freundlichen Grüßen
Günter
|