Liebes Forum,
ich hätte eine ganz dringende Frage und komme einfach nicht weiter. Im unteren Abschnitt seht ihr den schon funktionierenden Code
Es wird im Mitarbeiterverzeichnis nachgeschaut ob ein Mitarbeiter eingetragen. Jeder Mitarbeiter bekommt eine Nummer. Wenn kein Mitarbeiter
eingetragen ist, steht im Mitarbeiterverzeichnis eine 0 und deshalb soll auch dieser Mitarbeiter in den Registrierkarten
Lohnwoche & aktuelle KW ausgeblendet werden. Die Zeilen die ausgeblendet werden sollen für die jeweilige Karte ist unten angegeben.
Jetzt brauch ich eine Schleife die das für alle 40 mitarbeiter mach, also überprüft ob ein Mitarbeiter eingetragen ist oder nicht
und je nachdem die Zeilen ausblendet oder einblendet. Dazu muss auch die Schleife auch den Start und Endbereich für beide Karten
nach jedem Durchgang um dieselbe Differenz erhöhen, ansonsten würde ja immer die gleichen Zeilen ausgeblendet werden.
Private
Sub
Worksheet_Change()
Dim
strTMP
As
String
strTMP =
"KW"
& (
Date
- DateSerial(Year(
Date
+ _
(8 - Weekday(
Date
))
Mod
7 - 3), 1, 1) _
- 3 + (Weekday(DateSerial(Year(
Date
+ (8 - Weekday(
Date
)) _
Mod
7 - 3), 1, 1)) + 1)
Mod
7) \ 7 + 1
Dim
varAusblend1
As
Range
Dim
varAusblend2
As
Range
Dim
varSchalter
As
Range
Set
varAusblend1 = ThisWorkbook.Worksheets(strTMP).Rows(
"3:9"
)
Set
varAusblend2 = ThisWorkbook.Worksheets(
"Lohnzettel"
).Rows(
"2:33"
)
Set
varSchalter = ThisWorkbook.Worksheets(
"Mitarbeiterverzeichnis"
).Range(
"A3"
)
ThisWorkbook.Worksheets(strTMP).Unprotect Password:=
"f3##63dz2!"
If
varSchalter.Value <>
"0"
And
varAusblend1.Hidden =
True
Then
varAusblend1.Hidden =
False
Else
If
varSchalter.Value =
"0"
And
varAusblend1.Hidden =
False
Then
varAusblend1.Hidden =
True
End
If
End
If
If
varSchalter.Value <>
"0"
And
varAusblend2.Hidden =
True
Then
varAusblend2.Hidden =
False
Else
If
varSchalter.Value =
"0"
And
varAusblend2.Hidden =
False
Then
varAusblend2.Hidden =
True
End
If
End
If
ThisWorkbook.Worksheets(strTMP).Protect Password:=
"f3##63dz2!"
End
Sub
Ich hoffe es kann mir jemand helfen.
Vielen Vielen Dank im Voraus
Liebe Grüße
Thomas