Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Typen unverträglich

Forumthread: Typen unverträglich

Typen unverträglich
22.10.2012 12:51:18
Maximilian
Hallo,
um die Funktion Workday in Excel 2003 nutzen zu können, habe ich diese in einem Modul hinterlegt:
Option Explicit
Public Function ATag(Datum As Date, Optional Zusatztage As Range)
ShowMsg ("1")
Dim i%
Application.Volatile
If IsDate(Datum) Then
If Zusatztage Is Nothing Then
For i = 1 To 5
If BTag(Datum + i) = 1 Then Exit For
Next
Else
For i = 1 To 5
If BTag(Datum + i) = 1 Or Application.IsNumber(Application.Match(CLng(Datum + i),  _
Zusatztage, 0)) Then Exit For
Next
End If
End If
ATag = Datum + i
End Function
Public Function NettoATage(Beginn As Date, Ende As Date, Optional Zusatztage As Range)
Application.Volatile
If IsDate(Beginn) And IsDate(Ende) And Beginn  5 Then
BTag = 0
Else
' Feiertage
' Karfreitag
Feiertage(1) = (Ostern(Jahr)) - 2
' Ostermontag
Feiertage(2) = (Ostern(Jahr)) + 1
' Christi Himmelfahrt
Feiertage(3) = (Ostern(Jahr)) + 39
' Pfingstmontag
Feiertage(4) = (Ostern(Jahr)) + 50
' Frohnleichnam
Feiertage(5) = (Ostern(Jahr)) + 60
' Neujahr
Feiertage(6) = CDate("01.01." & Jahr)
' 1.Mai
Feiertage(7) = CDate("01.05." & Jahr)
' Maria Himmelfahrt
Feiertage(8) = CDate("15.08." & Jahr)
' Tag der deutschen Einheit
If Jahr = 1900
intA = intJahr Mod 19
intB = Int(intJahr / 100)
intC = intJahr Mod 100
intD = Int(intB / 4)
intE = intB Mod 4
intF = Int((intB + 8) / 25)
intG = Int((intB - intF + 1) / 3)
intH = (19 * intA + intB - intD - intG + 15) Mod 30
intI = Int(intC / 4)
intK = intC Mod 4
intL = (32 + 2 * intE + 2 * intI - intH - intK) Mod 7
intM = Int((intA + 11 * intH + 22 * intL) / 451)
intN = Int((intH + intL - 7 * intM + 114) / 31)
intP = (intH + intL - 7 * intM + 114) Mod 31
Ostern = DateSerial(intJahr, intN, intP + 1)
End Select
End Function
Wenn ich dieses Modul nun nutzen möchte, beipsielsweise über
MsgBox(ATag(CDate("01.01.2012"),5))
bekomme ich eine Debuggermeldung: Fehler beim kompilieren. Typen unverträglich.
Was mache ich denn da Falsch? Habe doch extra den String als Datum formatiert per CDate...

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Typen unverträglich
22.10.2012 12:59:06
Rudi
Hallo,
Optional Zusatztage As Range ?
Gruß
Rudi
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige