Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
408to412
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
408to412
408to412
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

auswahl per zufall sortieren

auswahl per zufall sortieren
king2web
Hallo!
ich möchte einen von mir markierten Bereich per Knopfdruck per Zufallsgenerator sortieren. Es sollte eine Art Auslosung werden.
Hoffe mir kann jemand helfen!
Danke im Voraus.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: auswahl per zufall sortieren
chris-ka
hi

Sub teams()
Dim zuf(999) As Integer
Dim wert(999) As String
If Selection.Count <= 1 Then Exit Sub
For k = 0 To Selection.Count - 1
zuf(k) = Int(Rnd() * Selection.Count)
If k > 0 Then
For i = 0 To k - 1
If zuf(i) = zuf(k) Then
k = k - 1
Exit For
End If
Next
End If
wert(zuf(k)) = ActiveCell.Offset(k, 0)
Next k
For i = 0 To Selection.Count - 1
ActiveCell.Offset(i, 0) = wert(i)
Next
End Sub

Gruß
Christian
DANKE
09.04.2004 09:58:52
king2web
danke
AW: auswahl per zufall sortieren
09.04.2004 10:17:46
Nepumuk
Hallo ?,
eine Variante für mehrere Spalten und Zeilen:


Public Sub Zufall()
    Dim varArray As Variant, varTemp As Variant
    Dim lngIndex1 As Long, lngIndex2 As Long, lngAnzahl As Long
    ReDim varArray(1 To Selection.Rows.Count * Selection.Columns.Count)
    For lngIndex2 = Selection.Column To Selection.Column + Selection.Columns.Count - 1
        For lngIndex1 = Selection.Row To Selection.Row + Selection.Rows.Count - 1
            lngAnzahl = lngAnzahl + 1
            varArray(lngAnzahl) = Cells(lngIndex1, lngIndex2)
        Next
    Next
    For lngIndex1 = lngAnzahl To Step -1
        Randomize Timer
        lngIndex2 = Int((lngIndex1 * Rnd) + 1)
        varTemp = varArray(lngIndex2)
        varArray(lngIndex2) = varArray(lngIndex1)
        varArray(lngIndex1) = varTemp
    Next
    lngAnzahl = 0
    For lngIndex2 = Selection.Column To Selection.Column + Selection.Columns.Count - 1
        For lngIndex1 = Selection.Row To Selection.Row + Selection.Rows.Count - 1
            lngAnzahl = lngAnzahl + 1
            Cells(lngIndex1, lngIndex2) = varArray(lngAnzahl)
        Next
    Next
End Sub


Gruß
Nepumuk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige