Hallo, Claus,
leider hilft mir das nicht weiter. Die Feiertagsnamen sind eigentlich völlig wurscht, nur wenn ein Anwender neue Feiertage eingeben muss, hilft denen das. Daher ist Resize richtig, in der ersten Spalte stehen die Feiertags-Datumswerte, mehr brauche ich nicht
für mein Find. Und Zählenwenn hilft hier auch nicht weiter, es geht nicht um die Anzahl der Feiertage, sondern es muss für jeden Tag im Jahr geklärt werden, ob Feiertag oder nicht. Vielleicht dazu zur Info - es handelt sich um einen Produktionsplan für verschiedene
Standorte, je nach Standort wird 5, 6 oder 7 Tage gearbeitet (glücklicherweise planen die keine Kurzarbeit ;-)). Wenn 5 Tage pro Woche gearbeitet wird, wird natürlich auch nur an diesen 5 Tagen produziert, wenn 7 Tage pro Woche, dann gibt es keinen freien
Tag, es sei denn, es handelt sich um einen gesetzlichen Feiertag... Also abhängig davon, wo die jeweilige Maschine steht, muss berechnet werden, ob sie produziert oder nicht.
Du schreibst, ich solle If so machen:
If Not rngistfeiertag Is Nothing Then
IstArbeitsTag = 0
Else
IstArbeitsTag = 1
End If
Das Else verstehe ich nicht, ich habe gleich zu Anfang IstArbeitsTag auf 1 gesetzt, von daher soll die Function den Wert ja nur ändern, wenn es ein Feiertag ist, d. h. wenn er über If hinweggeht, weil die Bedingung nicht erfüllt ist, bleibt der Wert doch
auf 1.
Wenn ich mit F8 durch den Code gehe, bleibt rngIstFeiertag auf Nothing stehen, obwohl ich beim Testen explizt auf den 3.10. verweise, der auch in der Tabelle steht. Habe jetzt sogar eine weitere Spalte eingefügt, die aus dem Datum einen formatierten Text
macht. Auch erfolglos.
Das Problem ist
Set rngIstFeiertag = rngfeiertage.Find(rngDatum.Text)
Wenn ich da mit F8 drübergehe, bleibt der Wert von
rngIstFeiertag
auf Nothing, obwohl der 3.10. eingestellt ist.
Gruß
Susanne