Urlaubstage auf Monat verteilen
#1
Hallo,

ich bin dabei eine Kalenderübersicht für Urlaub usw zu erstellen.
Es funktioniert auch alles soweit.
Nur weiß ich nicht sorecht, wie ich es händeln kann, wenn zb ein Urlaub in den nächsten Monat übergeht. Wie in Zeile 7

Kann mir da wer nen Tip geben?


Hier meine momentane Tabelle die per UF gefüllt wird, und aus der sich der Kalender die Werte holt.

Arbeitsblatt mit dem Namen 'Archiv'
CDFHJK
4MitarbeiterStartEndeStatusTageMonat
5101.10.201708.10.2017U4,00Oktober
6315.10.201720.10.2017U5,00Oktober
7919.10.201708.11.2017U14,00Oktober

NameBezug
Frei=Tabelle116[Datum]

ZelleFormel
J5=WENN(ISTLEER(D5);"";WENN(Abwesenheiten_Mitarbeiter[[#Diese Zeile];[Status]]="U ";NETTOARBEITSTAGE(D5;F5;Frei);NETTOARBEITSTAGE(D5;F5)))
K5=WENN(ISTLEER(D5);"";TEXT(D5;"MMMM"))
J6=WENN(ISTLEER(D6);"";WENN(Abwesenheiten_Mitarbeiter[[#Diese Zeile];[Status]]="U ";NETTOARBEITSTAGE(D6;F6;Frei);NETTOARBEITSTAGE(D6;F6)))
K6=WENN(ISTLEER(D6);"";TEXT(D6;"MMMM"))
J7=WENN(ISTLEER(D7);"";WENN(Abwesenheiten_Mitarbeiter[[#Diese Zeile];[Status]]="U ";NETTOARBEITSTAGE(D7;F7;Frei);NETTOARBEITSTAGE(D7;F7)))
K7=WENN(ISTLEER(D7);"";TEXT(D7;"MMMM"))
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg
Top
#2
Hallo,

zeige doch mal deinen Kalender.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#3
Hallo, wie sieht denn dein "Frei" aus..?
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#4
Hallo, in dieser Übersicht fehlt mir das trennen auf die Monate, die ist natürlich fortlaufend für die Monate.

In "Frei" sind die Feiertage, diese sollten ja natürlich nicht mitgerechnet werden.

Arbeitsblatt mit dem Namen 'Kalender'
ALAMAN
3MitarbeiterUrlaub AltJanuar
4
5100
6200

ZelleFormel
AN5=SUMMEWENNS(Archiv!$J$5:$J$115;Archiv!$C$5:$C$115;$AL5;Archiv!$K$5:$K$115;AN$3;Archiv!$H$5:$H$115;"U ")
AN6=SUMMEWENNS(Archiv!$J$5:$J$115;Archiv!$C$5:$C$115;$AL6;Archiv!$K$5:$K$115;AN$3;Archiv!$H$5:$H$115;"U ")
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg
Top
#5
Hallo, da du ja antwortest, aber nicht auf die Fragen (Überblick verloren???) Dann mal (m)ein Vorschlag - aber bitte den 31.10. als bundesweiten Feiertag nicht vergessen..:

PHP-Code:
=WENN(D5="";"";WENN(H5="U ";NETTOARBEITSTAGE(D5;MIN(F5;EDATUM(1&-MONAT(D5);1)-1);frei);NETTOARBEITSTAGE(D5;MIN(F5;EDATUM(1&-MONAT(D5);1)-1)))) 
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#6
Hallo,

31.10. hab ich natürlich^^

Aber wenn ich die Formel in J einfüge erhalte ich einen viel zu hohes Ergebniss.
Top
#7
Hallo, ich kenne ja nur den Ausschnitt, den du gepostet hat... dort habe ich die Formel eingetragen..:

Arbeitsblatt mit dem Namen 'Archiv'
CDFHJK
4MitarbeiterStartEndeStatusTageMonat
5101.10.201708.10.2017U5Oktober
6315.10.201720.10.2017U5Oktober
7919.10.201708.11.2017U9Oktober

ZelleFormel
J5=WENN(D5="";"";WENN(H5="U ";NETTOARBEITSTAGE(D5;MIN(F5;EDATUM(1&-MONAT(D5);1)-1);frei);NETTOARBEITSTAGE(D5;MIN(F5;EDATUM(1&-MONAT(D5);1)-1))))
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#8
Hallo,

aber das löst so oder so nicht mein Problem.
Ich suche eine möglichkeit wie ich die tage für Oktober und November in meine Übersicht bekomme in diesem Fall.
Top
#9
Hallo,


kann man dem folgenden Code evtl beibringen, das wenn zwischen den beiden Textboxen( die für die Datumseingabe sind) ein Monatswechsel is, er 2 Einträge vornimmt? Also die Tage von Monat 1 in eine Zeile und für den Rest dann eine zweite mit entsprechendem Datum?


Code:
Private Sub CommandButton2_Click() 'Speichern

Dim lngErste As Long
   With Sheets("Archiv")
   ' letzte freie Zeile in Spalte C finden
   lngErste = Application.CountA(.Columns(3)) + 4
   ' jeweils prüfen ob Name ausgefüllt dann Übertrag
   If ComboBox1.Value <> "" Then
       .Range("C" & lngErste).Value = ComboBox1.Value
       .Range("D" & lngErste).Value = TextBox1.Text
       .Range("F" & lngErste).Value = TextBox2.Text
       .Range("H" & lngErste).Value = ComboBox2.Value
   End If
   End With
   
       Unload Me
       UserForm11.Show
       
End Sub
Top
#10
Moin!
Nur ein Ansatz:

If Month(TB2) > Month(TB1) Then
   Ende1 = DateSerial(Year(TB1), Month(TB1) + 1, 0)
   Ende2 = TB2
   Anfang1 = TB1
   Anfang2 = DateSerial(Year(TB2), Month(TB2), 1)
End If

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste