rekenen met datums van voor 1900 maar na 100 v.C. kan makkelijk door er 2.000 jaar bij te tellen en dan met die datums te werken. Natuurlijk zijn er ergens in de Gregoriaanse kalender wel eens een paar keer dagen overgeslagen ivm. schrikkeljaren om de lente terug op 21 maart te krijgen, maar grof gerekend kan het er door.
Sub test()
d1 = "11/7/1302" 'Guldensporenslag
d2 = Format(Date, "mm/dd/yyyy") 'vandaag
arr = DagenPre1900(d1, d2)
MsgBox "het aantal dagen en werkdagen (zonder feestdagen) sinds de Guldensporenslag is " & vbLf & Format(arr(0), "#,###") & vbLf & Format(arr(1), "#,###"), vbInformation, UCase("natte vinger")
End Sub
Function DagenPre1900(sDatum1, sDatum2)
Dim arr(1)
sp1 = Split(sDatum1, "/")
sp2 = Split(sDatum2, "/")
arr(0) = CDbl(-DateSerial(sp1(2) + 2000, sp1(1), sp1(0)) + DateSerial(sp2(2) + 2000, sp2(1), sp2(0)))
arr(1) = WorksheetFunction.NetworkDays_Intl(DateSerial(sp1(2) + 2000, sp1(1), sp1(0)), DateSerial(sp2(2) + 2000, sp2(1), sp2(0)))
DagenPre1900 = arr
End Function