Problem mit VBA-Code für Urlaubsplaner
13.01.2004 20:25:51
robert
Ich habe heute folgendes Problem mit der Modifizierung des Urlaubsplaners von Bernd Held (dort frei runterzuladen):
Es gibt folgenden VBA-Code für die Übertragung der Feiertage in den Kalender:
Sub FeiertageÜbertragen()
Dim Ftag As Variant
Dim fmon As String
'Makro greift auf Tabelle Feiertage zurück
Sheets("Feiertage").Select
Range("B1").Select
Do Until ActiveCell.Value = ""
Ftag = ActiveCell.Value
fmon = Mid(Ftag, 4, 2)
If fmon < "07" Then Sheets("1. Halbjahr").Select _
Else Sheets("2. Halbjahr").Select
'Den Feiertag suchen
Rows("4:4").Select
On Error Resume Next
Selection.Find(What:=Ftag, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
ActiveCell.EntireColumn.Interior.ColorIndex = 15
'Abschlußarbeiten vornehmen
If Application.ActiveSheet.Name = "1. Halbjahr" _
Then Range("C1:GA2").Interior.ColorIndex = xlNone _
Else Range("C1:GD2").Interior.ColorIndex = xlNone
Sheets("Feiertage").Select
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Dadurch werden alle Feiertage grau in der gesamten Spalte unterlegt, bis auf die ersten beiden Zeilen. Soweit funktioniert das auch. Aber:
Das jeweiligen Datum im Kalender ist in der "Originalversion" direkt eingegeben, also steht im Blatt "1.Halbjahr" unter "C4"=01.01.2004 ; "D4"=02.01.2004 usw.
Nun wollte ich einen sich automatisch füllenden Kalender daraus machen: ICh habe bei "B1"=2004 (diese Zelle soll die einzig zu verändernde sein)
B2=DATUM(B1;1;1) > zeigt also 01.01.2004 an
verweise dann in C4 auf B2=01.01.2004; also ist C4=B2; dann D4=C4+1 usw.
Nach dieser Änderung läuft zwar das Makro trotzdem ohne Fehlermeldung durch, aber die gewünschte Markierung bleibt aus. Habe schon alles mögliche getestet, komme aber nicht weiter. Bitte helft mir . Danke!
Beste Grüße
Robert