Hi,
zum Eintragen der Feiertagsnamen in diesen Kalender
Urlaubskalender mit Ferien - Forum.xlsb (Größe: 55,08 KB / Downloads: 24)
benutze ich folgenden Code:
Warum wird der Text nicht in die übernächste Spalte eingetragen?
zum Eintragen der Feiertagsnamen in diesen Kalender

benutze ich folgenden Code:
Code:
Option Explicit
Public strWert As String
Sub Eintrag_Feiertag()
'erst werden alle Zellen gelöscht
Range("E3:E39,L3:L39,S3:S39,Z3:Z39,AG3:AG39,AN3:AN39,E43:E79,L43:L79,S43:S79,Z43:Z79,AG43:AG79,AN43:AN79").Select
Selection.Interior.ColorIndex = 0 '2
Selection.ClearContents
Range("F3").Select
'Eintragen der Feiertage
Dim LoZeile As Long
Dim LoSpalte As Long
For LoZeile = 3 To 39
For LoSpalte = 3 To 38 Step 7
If Cells(LoZeile, LoSpalte) <> "" Then
strWert = Feiertag(Cells(LoZeile, LoSpalte))
If strWert <> "" Then Cells(LoZeile, LoSpalte).Offset(0, 2) = strWert
End If
Next LoSpalte
Next LoZeile
For LoZeile = 43 To 79
For LoSpalte = 3 To 38 Step 7
If Cells(LoZeile, LoSpalte) <> "" Then
strWert = Feiertag(Cells(LoZeile, LoSpalte))
If strWert <> "" Then Cells(LoZeile, LoSpalte).Offset(0, 2) = strWert
End If
Next LoSpalte
Next LoZeile
End Sub
Function Feiertag(Datum As Date) As String
Dim j%, D%
Dim O As Date
j = Year(Range("B1"))
'Osterberechnung
D = (((255 - 11 * (j Mod 19)) - 21) Mod 30) + 21
O = DateSerial(j, 3, 1) + D + (D > 48) + 6 - _
((j + j \ 4 + D + (D > 48) + 1) Mod 7)
'Feiertage berechnen
Select Case Datum
Case DateSerial(j, 1, 1)
Feiertag = "Neujahr"
Case DateSerial(j, 1, 6)
Feiertag = "Dreikönig"
' Case DateAdd("D", -52, O)
' Feiertag = "Weiberfastnacht"
' Case DateAdd("D", -48, O)
' Feiertag = "Rosenmontag"
' Case DateAdd("D", -46, O)
' Feiertag = "Aschermittwoch"
Case DateAdd("D", -2, O)
Feiertag = "Karfreitag"
Case O
Feiertag = "Ostersonntag"
Case DateAdd("D", 1, O)
Feiertag = "Ostermontag"
Case DateSerial(j, 5, 1)
Feiertag = "Tag der Arbeit"
Case DateAdd("D", 39, O)
Feiertag = "Chr. Himmelfahrt"
Case DateAdd("D", 49, O)
Feiertag = "Pfingstsonntag"
Case DateAdd("D", 50, O)
Feiertag = "Pfingstmontag"
Case DateAdd("D", 60, O)
Feiertag = "Fronleichnam"
Case DateSerial(j, 10, 3)
Feiertag = "Deutsche Einheit"
Case DateSerial(j, 11, 1)
Feiertag = "Allerheiligen"
Case DateSerial(j, 12, 24)
Feiertag = "Heiligabend"
Case DateSerial(j, 12, 25)
Feiertag = "1. Weihnachtstag"
Case DateSerial(j, 12, 26)
Feiertag = "2. Weihnachtstag"
Case DateSerial(j, 12, 31)
Feiertag = "Silvester"
Case Else
Feiertag = ""
End Select
End Function
Warum wird der Text nicht in die übernächste Spalte eingetragen?