Wer kann mir VB Code umschreiben? :-)
22.12.2004 20:53:36
Martin
hab leider absolut keine ahnung von VB Makro Programmierung und es dauert sehr lange wenn ich das alles mit der Excel Hilfe erlernen muss.
Könnte mir evtl. jemand den unten stehenden Code so umwandeln, das nicht die Zeilen(Ax) zufallsmäßig selektiert wird, sondern die erste Spalte?
-Was muss ich beachten wenn ich evtl. später eine andere Spalte benutzen muss?
-Wie kann ich die Zeile: "'MsgBox r.Address(0, 0), , r.Count" so verändern, dass
sie mir nicht die Zellenindizies, sondern den Inhalt, evtl. schön formatiert ausgibt? Oder wie kann ich die gefundenen Werte in einer anderen Matrix in der Tabelle schön formatiert ausgeben?
Im Endeffekt soll aus einer Liste von Daten 16 zufallsmäßig ausgesucht werden!
Auf jeden Fall schonmal vielen vielen Dank für den der sich darum kümmert! :-)
Gruss Martin.
Code:
Private Sub CommandButton1_Click()
Const AnzTermine As Integer = 16
Dim i&, lngZufall&, j&
Dim arrZufall() As Long, arrZeilen() As Long
Dim r As Range
i = Cells(Rows.Count, 1).End(xlUp).Row
ReDim arrZufall(AnzTermine - 1)
ReDim arrZeilen(i - 1)
Randomize
For j = 1 To i: arrZeilen(j - 1) = j: Next j
For j = 1 To AnzTermine
lngZufall = Int((i - j + 1) * Rnd + 1)
arrZufall(j - 1) = arrZeilen(lngZufall - 1)
arrZeilen(lngZufall - 1) = arrZeilen(i - j)
Next j
Set r = Cells(arrZufall(0), 1)
For j = 1 To AnzTermine - 1
Set r = Application.Union(r, Cells(arrZufall(j), 1))
Next j
'MsgBox r.Address(0, 0), , r.Count
r.Select
End Sub