Funktion, ob Schaltjahr oder nicht

Hallo,

ich bin auf der Suche nach einer VBA-Funktion, die berechnet ob ein gegebenes Jahr ein Schaltjahr oder nicht ist. Hintergrund ist, eine Monatsübersicht zu erstellen, die für den Februar auch den 29.02. berücksichtigt.

Hat da jemand schon einmal sowas entwickelt?

Danke schonmal,

Ulrich

Hallo Ulrich,

zum einen kannst Du Dir ja selber eine schreiben

Public Function Schaltjahr(ByVal DateYear)
 If VarType(DateYear) = vbDate Then
 DateYear = Year(DateYear)
 End If

 If (DateYear Mod 4) = 0 Then
 Schaltjahr = True
 Else
 Schaltjahr = False
 End If
End Function

Bei einer Monatsübersicht könntest Du aber auch die Tage von 1 bis 31 hochtickern lassen und wenn der Monat umspringt einfach die Schleife abbrechen.

Gruß
Christian

Hi,

eine kleine Korrektur:
Nach DIN gilt für den Gregorianischen Kalender folgende Regel: Ein Schaltjahr ist ein Jahr dessen Jahreszahl durch 4 ohne Rest geteilt werden kann. Ein Jahrhundert-Jahr ist aber nur dann Schaltjahr, wenn die Jahreszahl durch 400 ohne Rest geteilt werden kann.

Aus:

> Public  
> Function Schaltjahr(ByVal DateYear)  
> If VarType(DateYear) = vbDate Then  
> DateYear = Year(DateYear)  
> End If  
>   
> If (DateYear Mod 4) = 0 Then  
> Schaltjahr = True  
> Else  
> Schaltjahr = False  
> End If  
> End Function

wird:

Function Schaltjahr(ByVal DateYear)

 Schaltjahr = False

 If VarType(DateYear) = vbDate Then
 DateYear = Year(DateYear)
 End If

 If (DateYear Mod 100) = 0 Then
 If (DateYear Mod 400) = 0 Then
 Schaltjahr = True
 End If
 Else
 If (DateYear Mod 4) = 0 Then
 Schaltjahr = True
 End If
 End If
End Function

Gruß

Sancho

Besten Dank
Besten Dank für die Hilfe,

Ulrich