Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1532to1536
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

Auswertung Urlaubstage für SAP Export

Auswertung Urlaubstage für SAP Export
13.01.2017 11:02:03
japes36
Hallo zusammen,
ich benötige für SAP die Auflistung von jeweils zusammenhängenden Urlaub. Ich habe dazu ein Makro gebastelt, was auch im Moment fast das macht, was es soll, außer einzelne Tage werden nicht als Einzeltag ausgewertet. Siehe Mitarbeiter A. Dieser hat nur am 03.01. einen Urlaubstag (grünes Feld), wird aber 3.1. bis 5.1. angezeigt in der Auswertung.
grundsätzlich:
-Es gibt 3 Schichten (Früh und Spät wäre Urlaubspflege Mo-Fr, bei Nachtschicht So-Do)
-Feiertage werden in meinem Makro berücksichtigt, wenn dieser in einem zusammenhängenden Urlaub vorkommt (Beispiel 6.1. und Kollege B)
Wäre schön, wenn jemandem etwas einfällt, wie ich dieses 1 Tag Urlaub Problem lösen kann. Sobald es 2 Tage sind, funktioniert es wieder.
Vielen Dank :)

Die Datei https://www.herber.de/bbs/user/110518.xlsm wurde aus Datenschutzgründen gelöscht


15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auswertung Urlaubstage für SAP Export
13.01.2017 12:27:24
Gunter
Hallo japes36
Ich hab da mal hier, in Urlaubsende ohne Feiertag:
 'Urlaubsende ohne Feiertag
If Sheets("Schichtplan").Range("D3").Value = "Nacht" And Worksheets(Quelle). _
Cells(ZeileQ, SpalteQ + 3).Value  Kennz And Treffer = False Then
If DateDiff("d", Beginn, Ende) > 1 Then
If Beginn  Ende Then
Worksheets(Ziel).Cells(ZeileZ - 1, SpalteZ + 1).Value = Ende
End If
Beginn = ""
MAZähler = MAZähler + 1
End If
ElseIf Sheets("Schichtplan").Range("D3").Value = "Früh" And Worksheets( _
Quelle).Cells(ZeileQ, SpalteQ + 2).Value  Kennz And Treffer = False Then
If DateDiff("d", Beginn, Ende) >= 1 Then
If Beginn  Ende Then
Worksheets(Ziel).Cells(ZeileZ - 1, SpalteZ + 1).Value = Ende
End If
Beginn = ""
MAZähler = MAZähler + 1

In den Code

If DateDiff("d", Beginn, Ende) >= 1 Then

ein "=" eingefügt. Da hat das zumindest für den Mitarbeiter A in der Schleife "Früh" wie gewünscht funktioniert.
Gruss
Gunter
Anzeige
AW: Auswertung Urlaubstage für SAP Export
13.01.2017 12:31:27
japes36
Hallo Gunter,
vielen Dank schon mal. Jetzt steht Beginn 03.01. (richtig) und bei Ende 04.01. (falsch)
Korrekterweise sollte bei Beginn und Ende 03.01. stehen, also 1 Tag U
Noch ne Idee?
Danke und viele Grüße
Jan
AW: Auswertung Urlaubstage für SAP Export
13.01.2017 13:48:10
Gunter
Dann probier mal so:
   If DateDiff("d", Beginn, Ende) >= 1 Then
If Beginn  Ende Then
Worksheets(Ziel).Cells(ZeileZ - 1, SpalteZ + 1).Value = Ende - 1

AW: Auswertung Urlaubstage für SAP Export
13.01.2017 13:52:51
japes36
Hallo und Danke, aber das funktioniert nun gar nicht. Dann hab ich teilweise Zellen mit negativem Datum(####################)
AW: Auswertung Urlaubstage für SAP Export
13.01.2017 14:01:28
Gunter
Also wo hast du negatives Datum?
Schau mal hier ist die von dir gelieferte Datei mit meinen Anpassungen:
https://www.herber.de/bbs/user/110527.xlsm
Anzeige
AW: Auswertung Urlaubstage für SAP Export
13.01.2017 14:06:38
japes36
Ahhhh, mein Fehler. Du hast Recht. Ich hatte noch ne andere Änderung drin. Musste die auch erst wieder rückgängig machen.
Aber jetzt schau mal bei Kollege G. Da sollte Beginn 17.02. und Ende 20.02. stehen. Tuts aber nicht.
ist vielleicht ein grundsätzlicher Denkfehler in der Logik des Makros drin? :-/
Danke :)
AW: Auswertung Urlaubstage für SAP Export
13.01.2017 14:08:42
japes36
Nachtrag: Wenn das Datum bei Ende leer bleibt bei eintägigen Urlauben, dann wärs nicht so schlimm. Das kann ich auch per makro am Ende mit dem Beginndatum "auffüllen"
AW: Auswertung Urlaubstage für SAP Export
13.01.2017 14:26:43
Gunter
Was ist denn wenn im Blatt 10A ein AT steht? Ist das auch Urlaub?
AW: Auswertung Urlaubstage für SAP Export
13.01.2017 14:41:27
Gunter
Geht leider auch nicht so.
AW: Auswertung Urlaubstage für SAP Export
13.01.2017 15:41:26
japes36
Hallo :)
Nein, U, AT und BA wird alles separat in SAP gepflegt.
Vllt habe ich auch einen Fehler in der Grundlogik des Makros. :-/ Mache nun schon seit 3 Tagen an dem Code rum. Entweder funktionieren Einzeltage aber anderes nicht. Oder umgekehrt.
Bis Ende des Jahres sollte das Makro funktionieren. :D
Vielen Dank Gunter bis hier her. Vllt findet sich noch jemand mit nem Vorschlag
AW: Auswertung Urlaubstage für SAP Export
13.01.2017 16:21:34
Gunter
Also wenn du mit

>=1
arbeitest, dann werden die Daten, natürlich je nach Verständnis, richtig gehandhabt. D.h. wenn ich am 03.01. Urlaub habe, dann beginnt der Urlaub am 03.01. und endet am 04.01. Dann sind die Eintragungen korrekt.
Anzeige
AW: Auswertung Urlaubstage für SAP Export
13.01.2017 16:40:20
japes36

If Sheets("Schichtplan").Range("D3").Value = "Nacht" And Worksheets(Quelle).Cells(ZeileQ,  _
SpalteQ).Value  Kennz Then
If Weekday(Dat) = 6 And Worksheets(Quelle).Cells(ZeileQ, SpalteQ +  _
3).Value  Kennz Then
Worksheets(Ziel).Cells(ZeileZ - 1, SpalteZ + 1).Value = Ende
Beginn = ""
MAZähler = MAZähler + 1
Else
Worksheets(Ziel).Cells(ZeileZ - 1, SpalteZ + 1).Value = Ende
Beginn = ""
MAZähler = MAZähler + 1
End If
ElseIf Sheets("Schichtplan").Range("D3").Value = "Früh" And Worksheets( _
Quelle).Cells(ZeileQ, SpalteQ).Value  Kennz Then
If Weekday(Dat) = 7 And Worksheets(Quelle).Cells(ZeileQ, SpalteQ +  _
2).Value  Kennz Then
Worksheets(Ziel).Cells(ZeileZ - 1, SpalteZ + 1).Value = Ende
Beginn = ""
MAZähler = MAZähler + 1
Else
Worksheets(Ziel).Cells(ZeileZ - 1, SpalteZ + 1).Value = Ende
Beginn = ""
MAZähler = MAZähler + 1
End If
ElseIf Sheets("Schichtplan").Range("D3").Value = "Spät" And Worksheets( _
Quelle).Cells(ZeileQ, SpalteQ).Value  Kennz Then
If Weekday(Dat) = 7 And Worksheets(Quelle).Cells(ZeileQ, SpalteQ +  _
1).Value  Kennz Then
Worksheets(Ziel).Cells(ZeileZ - 1, SpalteZ + 1).Value = Ende
Beginn = ""
MAZähler = MAZähler + 1
Else
Worksheets(Ziel).Cells(ZeileZ - 1, SpalteZ + 1).Value = Ende
Beginn = ""
MAZähler = MAZähler + 1
End If
den Teil mit und ohne Feiertag hab ich mal komplett ersetzt mit diesem Code. Alle Urlaube stimmen jetzt wieder.
Nun muss ich in diesen Code einbauen, dass er Urlaub zusammensetzt mit Anfang und Ende, wenn er nach einem Wochenende oder Feiertag weitergeht.
Anzeige
AW: Auswertung Urlaubstage für SAP Export
14.01.2017 10:02:43
Hajo_Zi
warum Offen?
Habs hinbekommen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige