Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1164to1168
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Abfrage auf Kalenderwoche mit VBA

Abfrage auf Kalenderwoche mit VBA
jo_cindy
Hallo, habe ein Makro "gestrickt" und komme jetzt nicht weiter. Ich möchte in der Spalte P die Mehrarbeit berechnen. Die Berechnung gezieht sich immer auf den Wochentag. Arbeitet der Mitarbeiter in der Zeit von Mo bis Fr weniger als 8h, dann muss die Differenz als Negativbetrag aufgeführt werden. Arbeitet der Mitarbeiter an einem Samstag oder Sonntag, dann müssen die gesamten Stunden als Positivbetrag aufgeführt werden, ebenso alle Stunden an den Wochentagen Mo bis Fr größer 8,0 Stunden. Super wäre noch, wenn an Feiertagen die Regel für Samstag und Sonntag gilt, wobei das nicht unbedingt notwendig ist. Das könnte ich auch manuell korrigieren, so viele Feiertage gibt es ja nicht.
Danke für Hilfe!
Gruß, Jo

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Abfrage auf Kalenderwoche mit VBA
08.07.2010 11:41:24
jo_cindy
Habe vergessen, die Tabelle hoch zu laden. In Spalte P habe ich mal die ersten 11 Zeilen mit dem gewünschten Ergebnis belegt.
https://www.herber.de/bbs/user/70490.xls
AW: Abfrage auf Kalenderwoche mit VBA
08.07.2010 12:16:41
Rudi
Hallo,
wozu VBA?
=I2-8*(WOCHENTAG(E2;2)<6)
Gruß
Rudi
AW: Abfrage auf Kalenderwoche mit VBA
08.07.2010 12:41:09
jo_cindy
Hi Rudi,
manchmal sieht man den Wald vor Bäumen nicht, funktioniert. Danke.
Weißt du auch, wie man Feiertage einbeziehen kann. Diese sollen wie Sa und So gewertet werden. Feiertage sind doch auch regional verschieden? Ich benötige dieses Makro z.Z. nur für einen Standort in Köln.
Gruß, Jo
Anzeige
AW: Abfrage auf Kalenderwoche mit VBA
08.07.2010 12:49:42
Rudi
Hallo,
in ein Modul:
Function istFeiertag(Datum) As Boolean
'Feiertage für NRW
Dim d As Integer, iJahr As Integer, dteOSo As Date
iJahr = Year(Datum)
d = (((255 - 11 * (iJahr Mod 19)) - 21) Mod 30) + 21
dteOSo = DateSerial(iJahr, 3, 1) + d + (d > 48) + _
6 - ((iJahr + iJahr \ 4 + d + (d > 48) + 1) Mod 7)
Select Case Datum
Case dteOSo - 2, _
dteOSo, _
dteOSo + 1, _
dteOSo + 39, _
dteOSo + 40, _
dteOSo + 50, _
dteOSo + 60, _
DateSerial(iJahr, 1, 1), _
DateSerial(iJahr, 5, 1), _
DateSerial(iJahr, 10, 3), _
DateSerial(iJahr, 12, 25), _
DateSerial(iJahr, 12, 26)
istFeiertag = True
End Select
'Karfreitag=Ostersonntag-2
'Ostermontag=Ostersonntag+1
'Chr.Himmelfahrt=Ostersonntag+39
'Pfingstmontag=Ostersonntag+50
'Fronleichnam=Ostersonntag+60
End Function
Und die Formel auf
=I2-8*(WOCHENTAG(E2;2) erweitern.
Gruß
Rudi
Anzeige
AW: Abfrage auf Kalenderwoche mit VBA
08.07.2010 13:21:42
jo_cindy
Hi Rudi,
da stoße ich an meine Grenzen, aber du kannst mir sicher weiter helfen. Ich füge also in mein Makro ein zweites Modul ein und kopiere den Inhalt da hinein. Dann habe ich in meinem ersten Modul die Funktion erweitert: ActiveCell.FormulaR1C1 = "=RC[-7]-8*(WEEKDAY(RC[-11],2)<6)*NOT(IstFeiertag(RC[-11]))"
Allerdings verstehe ich nicht, wie das jetzt funktioniert. In der gesamten Spalte P bekomme ich jetzt auch einen Fehler #Name? Eigentlich müsste doch bezogen auf den Juni in der Spalte P alles normal berechnet werden? Habe dann mal ein Datum manuell auf 05.04. geändert, Fehler bleibt. Was habe ich falsch gemacht?
https://www.herber.de/bbs/user/70494.xls
Gruß, Jo
Anzeige
AW: Abfrage auf Kalenderwoche mit VBA
08.07.2010 16:45:07
Rudi
Hallo,
soweit hast du alles richtig gemacht.
Du zerschieß aber mit deinem Makro die ganze Tabelle. In E steht nach dem Durchlauf kein Datum mehr. Da kann das nicht funktionieren.
Gruß
Rudi
AW: Abfrage auf Kalenderwoche mit VBA
08.07.2010 17:17:53
jo_cindy
Hi Rudi,
was muss ich tun? Was meinst du damit, dass in E kein Datum mehr steht. Ich verstehe die Funktion leider nicht nicht.
Kannst du mir helfen?
AW: Abfrage auf Kalenderwoche mit VBA
08.07.2010 16:30:45
jo_cindy
Hi Rudi,
kannst du mir helfen?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige