Aaaachtung! Wenn Sie in #VBA den #Mod-#Operator verwenden, um #Divisionsreste herauszufinden (für Schaltjahre, Teilbarkeit, …), dann kann’s Ihnen passieren, dass ein „#Überlauf“-Fehler herauskommt.
If meinJahr Mod 4 =0 Then ...
Und zwar dann, wenn der Dividend (z.B. meinJahr) größer oder kleiner ist als das, was Sie in einer Long-Variable unterbringen können – die geht von -2.147.483.648 bis 2.147.483.647, und mehr oder weniger ist nicht erlaubt.
Und was nun?
Sie müssen sich Ihr eigenes Mod schreiben – und dann verwenden Sie statt
Dividend Mod Divisor 'mit Operator myMod(Dividend, Divisor) 'selbst definierte Funktion
Und die Funktion myMod könnte so aussehen:
Public Function myMod(Dividend As Double, Divisor As Double) As Double myMod = Dividend - Divisor * (Int(Dividend / Divisor)) End Function