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

Datumsrange in einelne Zeilen umwandeln

Datumsrange in einelne Zeilen umwandeln
02.06.2020 10:08:54
Richi
Gute Morge Zäme
Ich bitte um eure Hilfe. Wer kann mir bein VBA Code helfen?
Ausgangslage:
Habe eine Mitarbeiterabsenzenliste (siehe Anhang) welche mit einem Absenzstart und Absenzende versehen ist. Diese möchte ich in einzelne Tage (Datum aufschlüsseln) und daraus einen Absenzenspiegel erstellen
Folgendes stelle ich mir dabei vor:
1. Daten aus Tabelle "SAP Download" sind die Basis die in Tabelle "Single Line" eingetragen werden sollen.Dabei soll:
1.1 Absenzen pro Personalnummer und Absenzcode in einzelne Tage (Datum) aufgeschlüssen d.h. aus einem Datumsrange 1.1.2020 - 3.1.2020 würden 3 Zeilen geschrieben (1.1.2020, 2.1.2020, 3.1.2020).
1.2 Samstage und Sonntage sollten dabei nicht übernommen werden.
1.3 Ist in Tabelle "SAP Download" in Spalte "Absenzstart" nichts eingetragen, nichts machen (diese Zeigt nur an, dass eine neuer Absenzcod folgt)
1.4 Hinterlegte Absenzcode in Tabelle "Excl_Absenzcode", dürfen nicht in Tabelle "Single Line" übernommen werden.
1.5 Absenzstunden berechnen: Stunden / Absenztage (ist Wert in In Spalte "Absenztage" kleiner 1 soll der hinterlegte Wert in Spalte "Stunden" übernehmen ansonsten den Berechneten Wert in Spalte "Stunden" eintragen
2. Wenn alle Daten in einzelne Tage aufgeschlüsselt sind soll am Ende der Tabelle "Single Line" weitere Daten hinzugefügt werden:
2.1 Pro Mitarbeiter aus Tabelle "Mitarbeiter" sollen alle Feiertage¨übernommen werden die in Spalte "Ort" leer sind und der "Ort" in Tabelle "Mitarbeiter" und "Feiertage" überein stimmt.
https://www.herber.de/bbs/user/137931.xlsx
Ich hoffe mir kann da jemand tatkräftig unter die Arme greifen.
Liebe Gruess
Richi

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: das liest sich wie eine Auftragsarbeit!?! owT
02.06.2020 11:52:55
neopa
Gruß Werner
.. , - ...
AW: Datumsrange in einelne Zeilen umwandeln
02.06.2020 13:28:29
Richi
Mir wäre schon mal geholfen, wenn ich Hilfe bekäme für Pkt 1.1 & 1.2
AW: den thread nur als offen gekennzeichnet owT
02.06.2020 15:36:10
neopa
Gruß Werner
.. , - ...
AW: den thread nur als offen gekennzeichnet owT
02.06.2020 15:38:17
Richi
Bin Neuling sorry
AW: thread wieder als offen gekennzeichnet ...
02.06.2020 16:06:13
neopa
Hallo Richi,
... durch einen Beitrag, bei dem das Häkchen neben dem Passworteingabe gesetzt wird, wird in der Forumsliste an diesem Beitrag ein rotes Ausrufezeichen gesetzt und kennzeichnet damit den thread als offen. Dies habe ich für Dich nun zum 2. Mal getan. Damit erkennen potentielle Helfer, dass der thread offen ist. Du kannst jetzt nur abwarten, ob sich einer Deiner Problemstellung doch noch annimmt.
Gruß Werner
.. , - ...
Anzeige
AW: Datumsrange in einelne Zeilen umwandeln
02.06.2020 17:22:55
onur
Das ist doch eigentlich ein Klacks für Jemanden mit "Excel gut - VBA gut"
AW: Datumsrange in einzelne Zeilen umwandeln
02.06.2020 23:25:51
Richi
onur da hab ich mich vertan. habe 0 know how... kleine einfache vba kann ich stückweise nachvollziehen was es auslöst...aber programme schreiben kann ich nicht.
VBA-Lösung wäre effektiver; Fml-Lösung zu ...
02.06.2020 21:37:04
Luc:?
…zeitaufwendig, aber möglich, Richi;
du bist ja zu beidem befähigt.
Tipp: EinzelTage kann man mit ZEILE(INDIREKT(von&":"&bis)) ermitteln.
Gruß, Luc :-?
AW: Datumsrange in einelne Zeilen umwandeln
03.06.2020 10:06:11
Daniel
Hi
mal as als Ansatz für die Fragen 1.x
Sub test()
Dim DL 'Download-daten
Dim SL 'SingleLine-Ergebnis
Dim zDL As Long
Dim zSL As Long
Dim d As Long
Dim sp As Long
Dim Ort
Dim Stunden
With Sheets("SAP Download").Cells(1, 1).CurrentRegion
DL = .Value
ReDim SL(1 To WorksheetFunction.Sum(.Columns(13)) - WorksheetFunction.Sum(.Columns(12)) +  _
WorksheetFunction.Count(.Columns(12)), 1 To 11)
End With
For zDL = 2 To UBound(DL, 1)
If IsDate(DL(zDL, 13)) And IsDate(DL(zDL, 12)) Then
If WorksheetFunction.CountIf(Sheets("Excl_Absenzcode").Columns(1), DL(zDL, 7)) = 0 Then
Ort = Application.VLookup(DL(zDL, 1), Sheets("Mitarbeiter").Range("A:D"), 4, 0)
Stunden = DL(zDL, 10) / WorksheetFunction.Max(1, Val(DL(zDL, 11)))
For d = DL(zDL, 12) To DL(zDL, 13)
If Weekday(d, 2) 
Gruß Daniel
Anzeige
AW: Datumsrange in einelne Zeilen umwandeln
07.06.2020 14:00:09
Richi
Sali Daniel
Entschuldige mich in aller Form, dass ich mich erst jetzt bei dir bedanke. Code Funktioniert einwandfrei.
Kann gut Nachvollziehen, wenn du mich in Zukunft nicht mehr Prompt unterstützt, war nicht die feine Art und werde mich auch nicht in Ausflüchte verstricken.
Hoffe mal nimmst meine Entschuldigung an.
Liebe Gruess
Richi

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige