Hallo EP,
Das einzige was ich nun noch bräuchte, wäre, dass die ganze
Funktion erst ab A2 bzw. E2 anfängt - um nicht die
Tabellenüberschrift mitzumischen.
Ich wäre euch sehr dankbar, da ich die Listen (vermischt)
heute abliefern sollte.
tut mir Leid, ich lese das eben erst.
Tut mir Leid2, ich sah schon daß du das mit der zweiten Zeile schon im anderen Thread sagtest, aber ich dachte du kriegst das alleine hin.
Ich habe jetzt ungetestet im Code nur die 1 gegen gegen 2 getauscht.
Wenn es nicht klappen sollte melde dich dann teste ich es und passe den Code entsprechend an.
Nachstehend der geänderte Code.
Und wenn du hier Code postest so benutze bitte den pre-Html-Tag, der wird unterhalb des Eingabefensters, wenn du was schreibst, erläutert.
Damit bleiben Einrückungen im Code durch Leerzeichen erhalten.
Gruß
Reinhard
Option Explicit
'
Sub Misch()
Call Mischfunktion(1) ' 1 = 1te Spalte=A
Call Mischfunktion(5) ' 5 = 5te Spalte=E
Range("A1").Select
End Sub
'
Sub Mischfunktion(Spa As Integer)
Dim Zei As Long, Z As Long, Zahl
Zei = Cells(Rows.Count, Spa).End(xlUp).Row
Application.ScreenUpdating = False
Columns(Spa).Insert
With Range(Cells(2, Spa), Cells(Zei, Spa))
.FormulaLocal = "=Wenn(" & Chr(65 + Spa) & "2="""";Zeile();"""")"
.Copy
.PasteSpecial Paste:=xlValues
End With
Application.CutCopyMode = False
For Z = 2 To Zei
If Cells(Z, Spa) = "" Then
Do
Zahl = Int(Rnd() \* Zei) + 1
Loop While Application.CountIf(Columns(Spa), Zahl) \> 0
Cells(Z, Spa).Value = Zahl
End If
Next Z
Range(Cells(2, Spa), Cells(Zei, Spa + 1)).Sort Key1:=Cells(2, Spa), Order1:=xlAscending, Header:=xlNo, \_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Columns(Spa).Delete
Application.ScreenUpdating = True
End Sub