Sub
Wochenplanung()
Dim
Klasse
As
Integer
Dim
Fach
As
String
Dim
Stundenzahl
As
Integer
Dim
Spalte
As
Integer
Dim
Zeile
As
Integer
Dim
Woche
As
Integer
Dim
Wochenplanzeile
As
Integer
Dim
Hörsaal
As
Integer
Dim
Anzahl_Klasse
As
Integer
Dim
Vorhanden
As
Integer
Hörsaal = 1
Anzahl_Klassen = Range(
"anzahl_klassen"
).Value
Spalte = 36
Woche = Range(
"aktuelle_woche"
).Value - 1
Spalte = Spalte + 8 * Woche
Vorhanden = 0
Application.ScreenUpdating =
False
Sheets(
"Semesterplanung"
).Activate
Sheets(
"Wochenplanung"
).Range(
"A4:H9"
).Value =
""
Do
Until
Hörsaal > Anzahl_Klassen
Zeile = 6
Wochenplanzeile = 4
Do
Until
Wochenplanzeile = 10
Or
Wochenplanzeile = 3
Do
Until
Cells(Zeile, Spalte).Value <>
""
Or
Zeile > 105
Zeile = Zeile + 1
Loop
Fach = Cells(Zeile, 7).Value
If
Hörsaal = 2
Then
Wochenplanzeile = 9
Do
Until
Sheets(
"Wochenplanung"
).Cells(Wochenplanzeile, 1).Value = Fach
Or
Wochenplanzeile = 3
Wochenplanzeile = Wochenplanzeile - 1
Loop
If
Sheets(
"Wochenplanung"
).Cells(Wochenplanzeile, 1).Value = Fach
Then
Vorhanden = 1
End
If
End
If
If
Vorhanden = 0
And
Hörsaal > 1
Then
Wochenplanzeile = 9
Do
Until
Sheets(
"Wochenplanung"
).Cells(Wochenplanzeile, (Hörsaal * 2) - 1).Value =
""
Or
Wochenplanzeile = 3
Wochenplanzeile = Wochenplanzeile - 1
Loop
End
If
Sheets(
"Wochenplanung"
).Cells(Wochenplanzeile, (Hörsaal * 2) - 1).Value = Fach
Stundenzahl = Cells(Zeile, Spalte).Value
Sheets(
"Wochenplanung"
).Cells(Wochenplanzeile, Hörsaal * 2).Value = Stundenzahl / 2
If
Hörsaal = 1
Then
Wochenplanzeile = Wochenplanzeile + 1
End
If
Zeile = Zeile + 1
Loop
If
Sheets(
"Wochenplanung"
).Cells(10, 2 * Hörsaal).Value < Sheets(
"Semesterplanung"
).Cells(1, Spalte).Value / 2
Then
Sheets(
"Wochenplanung"
).Cells(9, 2 * Hörsaal).Value = 0
Sheets(
"Wochenplanung"
).Cells(9, (2 * Hörsaal) - 1).Value =
"Dummy"
Sheets(
"Wochenplanung"
).Cells(9, 2 * Hörsaal).Value = (Sheets(
"Semesterplanung"
).Cells(1, Spalte).Value / 2) - Sheets(
"Wochenplanung"
).Cells(10, 2 * Hörsaal).Value
End
If
Hörsaal = Hörsaal + 1
Spalte = Spalte + 2
Loop
If
Sheets(
"Wochenplanung"
).Cells(4, 1).Value =
""
Then
Mldng = MsgBox(
"Es gibt keine Fächer für die Wochenplanung. Bitte erst die Semesterplanung abschließen"
, vbOKOnly,
"Vorgangsfehler"
)
Exit
Sub
End
If
Call
Stundenplan
Sheets(
"Stundenpläne"
).Activate
Application.ScreenUpdating =
True
End
Sub