Private
Sub
Randomizer()
Application.Run
"Admin.PasswordOFF"
Application.ScreenUpdating =
False
Sheets(
"Datenbank"
).Visible =
True
Sheets(
"Einstellungen"
).Visible =
True
Application.Run
"Sheetname.Lock"
Application.Run
"Randomizer.CopyPresent"
Application.Run
"Randomizer.DatabaseBuild"
If
Sheets(
"Einstellungen"
).Range(
"StateFirstIsLast"
) =
"Aus"
Then
Sheets(
"Random"
).Range(
"Runde1"
).Copy
Sheets(
"Datenbank"
).Range(
"S1"
).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=
False
, Transpose:=
False
Application.CutCopyMode =
False
ActiveWorkbook.Names.Add Name:=
"Dataround"
, RefersToR1C1:=Selection
Range(
"D2"
).FormulaR1C1 =
"=RAND()*20"
Selection.AutoFill Destination:=Range(
"D2:D21"
), Type:=xlFillDefault
ActiveSheet.Range(
"$C$1:$D$21"
).AutoFilter Field:=1, Criteria1:=
"<>"
Dim
hausbruchcount
As
Long
Do
hausbruchcount = hausbruchcount + 1
If
hausbruchcount > 1000
Then
MsgBox
"Endlos-Schleife! Befehl wird abgebrochen. Manueller Eintrag Notwendig in Runde 1 oder Bedingungen anpassen."
Exit
Do
End
If
ActiveSheet.Range(
"$C$1:$D$21"
).AutoFilter Field:=1
Range(
"Dataround"
).Copy
Sheets(
"Locked"
).Range(
"Runde1"
).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=
False
, Transpose:=
False
Application.Run
"Randomizer.NewSequence"
Call
RNGcopyR1
Loop
Until
Sheets(
"Datenbank"
).Range(
"G23"
) =
"1"
And
Sheets(
"Datenbank"
).Range(
"N1"
) =
"0"
Else
:
End
If
On
Error
GoTo
1
ActiveWorkbook.Worksheets(
"Datenbank"
).Names(
"DataRound"
).Delete
1 Err.Clear
Sheets(
"Locked"
).Range(
"Runde2"
).Copy
Sheets(
"Datenbank"
).Range(
"S1"
).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=
False
, Transpose:=
False
ActiveWorkbook.Names.Add Name:=
"Dataround"
, RefersToR1C1:=Selection
Dim
iausbruchcount
As
Long
Do
iausbruchcount = iausbruchcount + 1
If
iausbruchcount > 1000
Then
MsgBox
"Endlos-Schleife! Befehl wird abgebrochen. Manueller Eintrag Notwendig in Runde 2 oder Bedingungen anpassen."
Exit
Do
End
If
ActiveSheet.Range(
"$C$1:$D$21"
).AutoFilter Field:=1
Range(
"Dataround"
).Copy
Sheets(
"Locked"
).Range(
"Runde2"
).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=
False
, Transpose:=
False
Application.Run
"Randomizer.NewSequence"
Call
RNGcopyR2
Loop
Until
Sheets(
"Datenbank"
).Range(
"H23"
) =
"1"
And
Sheets(
"Datenbank"
).Range(
"O1"
) =
"0"
Sheets(
"Locked"
).Range(
"Runde3"
).Copy
Sheets(
"Datenbank"
).Range(
"S1"
).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=
False
, Transpose:=
False
Dim
jausbruchcount
As
Long
Do
jausbruchcount = jausbruchcount + 1
If
jausbruchcount > 1000
Then
MsgBox
"Endlos-Schleife! Befehl wird abgebrochen. Manueller Eintrag Notwendig in Runde 3 oder Bedingungen anpassen."
Exit
Do
End
If
ActiveSheet.Range(
"$C$1:$D$21"
).AutoFilter Field:=1
Range(
"Dataround"
).Copy
Sheets(
"Locked"
).Range(
"Runde3"
).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=
False
, Transpose:=
False
Application.Run
"Randomizer.NewSequence"
Call
RNGcopyR3
Loop
Until
Sheets(
"Datenbank"
).Range(
"I23"
) =
"1"
And
Sheets(
"Datenbank"
).Range(
"P1"
) =
"0"
Sheets(
"Locked"
).Range(
"Runde4"
).Copy
Sheets(
"Datenbank"
).Range(
"S1"
).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=
False
, Transpose:=
False
Dim
kausbruchcount
As
Long
Do
kausbruchcount = kausbruchcount + 1
If
kausbruchcount > 1000
Then
MsgBox
"Endlos-Schleife! Befehl wird abgebrochen. Manueller Eintrag Notwendig in Runde 4 oder Bedingungen anpassen."
Exit
Do
End
If
ActiveSheet.Range(
"$C$1:$D$21"
).AutoFilter Field:=1
Range(
"Dataround"
).Copy
Sheets(
"Locked"
).Range(
"Runde4"
).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=
False
, Transpose:=
False
Application.Run
"Randomizer.NewSequence"
Call
RNGcopyR4
Loop
Until
Sheets(
"Datenbank"
).Range(
"J23"
) =
"1"
And
Sheets(
"Datenbank"
).Range(
"Q1"
) =
"0"
ActiveSheet.Range(
"$C$1:$D$21"
).AutoFilter Field:=1
Range(
"C2:D21"
).Clear
ActiveWorkbook.Names(
"Dataround"
).Delete
Application.Run
"Randomizer.ClearDataBase"
Sheets(
"Locked"
).Range(
"A1"
).select
Application.Run
"Sheetname.Unlock"
Application.ScreenUpdating =
True
Sheets(
"Datenbank"
).Visible =
False
Application.Run
"Admin.PasswordOn"
End
Sub