1 1 1 1 1 1 1 1 1 1 Rating 3.67 (3 Votes)

Problemstellung:

Für 32Bit und 64Bit Office Versionen

Wie berechnet man den Beginn und das Ende der Sommerzeit in Deutschland?

Public Enum Summertime
    StartSummer = 0
    EndSummer = 1
End Enum
Public Function CalcSummertime(iYear As Integer, _
                Optional Typ As Summertime = 0) As Date
Dim dtStart As Date, dtEnd As Date
Dim dtResult As Date
    dtStart = DateSerial(iYear, 3, 31)
    dtEnd = DateSerial(iYear, 10, 31)
    If Typ = StartSummer Then
        dtResult = dtStart - Weekday(dtStart) + 1
    Else
        dtResult = dtEnd - Weekday(dtEnd) + 1
    End If
    CalcSummertime = dtResult
End Function

Aufruf:

MsgBox "Beginn: " & CalcSummertime(2008) & vbNewLine & _ 
       "Ende: " & CalcSummertime(2008, EndSummer), vbOKOnly, _        
       "Sommerzeit 2008"

 

Ergebnis:

 

Ähnliche Artikel