Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
776to780
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Anzahl der Arbeitstage pro Monat

Anzahl der Arbeitstage pro Monat
02.07.2006 11:45:37
Sophie
Hallo erstmal,
gibt es unter VBA irgendeine Möglichkeit mir die Anzahl der Arbeitstage pro Monat zu errechnen lassen.
In einer Woche hab ich 5 Arbeitstage, nun haben die Monate unterschiedlich viele Tage und dann muß noch berücksichtigt werden mit welchen Tag der Monat beginnt.
Gibt es da vielleicht schon was vorgefertigtes?, oder hat mir einer von Euch einen Tipp, wie sich dieses unter VBA bewerkstelligen läßt.
Schönen Gruß und Danke im Voraus für Eure Hilfe.
Sophie

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzahl der Arbeitstage pro Monat
ransi
Hallo Sophie
Aber nur weil du gezielt nach VBA gefragt hast.
Pack diesen code mal in ein Modul:


Option Explicit
Public Function wieviele_Tage_schuften(datum As Date) As Integer
Dim L As Date
For L = DateSerial(Year(datum), Month(datum), 1) To DateSerial(Year(datum), Month(datum) + 1, 0)
    If Weekday(L, vbMonday) <= 5 Then wieviele_Tage_schuften = wieviele_Tage_schuften + 1
Next
End Function


der aufruf in der Tabelle geht dann so:
Tabelle1
 AB
110.07.0621
Formeln der Tabelle
B1 : =wieviele_tage_schuften(A1)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Einfach einen Tag aus dem gewünschten Monat in eine Zelle schreiben.
ransi
Anzeige
AW: Anzahl der Arbeitstage pro Monat
02.07.2006 14:29:40
FP
Hallo Sophie,
der Link von Rolf ist falsch.
Was Du brauchst ist http://www.excelformeln.de/formeln.html?welcher=11
Bei diesen Formeln werden aber 2 Daten als Vorgabe benötigt ( 1. und letzter des Monats )
Alternative 1: in B2 steht dabei ein Datum ( es MUSS der 1. des Monats sein ! - z.B. 1.7.2006 )
=SUMME(4+(-REST(B2-{2.3.4.5.6};-7)&lt4-TAG(B2+32-TAG(B2))))
Alternative 2: in B2 steht irgend ein Datum des gesuchten Monats - z.B. 2.7.2006
=SUMME(4+(-REST(B2-TAG(B2)-{1.2.3.4.5};-7)&lt4-TAG(B2+32-TAG(B2))))
Alternative 3: in B2 steht die Monatszahl, in A1 das Jahr
=SUMME(4+(-REST((B2&"-"&$A$1)-{2.3.4.5.6};-7)&lt4-TAG((B2&"-"&$A$1)+32-TAG(B2&"-"&$A$1))))
Wünsche gutes Gelingen :-)
Servus aus dem Salzkammergut
Franz
Anzeige
AW: Anzahl der Arbeitstage pro Monat per VBA
02.07.2006 15:39:44
FP
Hallo Sophie,
2 Makros und Du hast die Wahl
a) Aufruf: AnzArbTageMonDat
Ergebnis: Arbeitstage des aktuellen Monats
b) Aufruf: AnzArbTageMonDat("1.9.2006")
Ergebnis: Arbeitstage September 2006
c) Aufruf: AnzArbTageMonat
Ergebnis: Arbeitstage des aktuellen Monats
d) Aufruf: AnzArbTageMonat(9,2006)
Ergebnis: Arbeitstage September 2006
erlaubt ist natürlich auch
Aufruf: AnzArbTageMonDat(Range("B2")) bzw. AnzArbTageMonat(Range("A1"), Range("B1"))
wobei dann in B2 ein Datum bzw. in A1 das Monat und in B1 das Jahr stehen sollte
Function AnzArbTageMonat(Optional ByVal Monat As Byte, _ Optional ByVal Jahr As Integer) As Byte Dim Datum As Date If Monat = 0 Then Monat = Month(Date) If Jahr = 0 Then Jahr = Year(Date) AnzArbTageMonat = AnzArbTageMonDat(DateSerial(Jahr, Monat, 1)) End Function
Function AnzArbTageMonDat(Optional ByVal Datum As Date) As Byte If Datum = 0 Then Datum = Date Datum = DateSerial(Year(Datum), Month(Datum) + 1, -2) AnzArbTageMonDat = 20 For Datum = DateSerial(Year(Datum), Month(Datum), 27) To Datum If (Datum Mod 7) < 5 Then AnzArbTageMonDat = AnzArbTageMonDat + 1 Next End Function
Servus aus dem Salzkammergut
Franz
Anzeige
AW: Anzahl der Arbeitstage pro Monat
02.07.2006 18:35:14
Sophie
Vielen Dank an Rolf, ransi und Franz, Ihr habt mein Problem gelöst.
Gruß
Sophie

45 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige