15.08.2021, 11:52
(Dieser Beitrag wurde zuletzt bearbeitet: 15.08.2021, 11:53 von ari-2001.
Bearbeitungsgrund: Falsches Wort verwendet (entfällt statt enthält)
)
CleverExcelForum.xlsm (Größe: 45,63 KB / Downloads: 9)
Hallo zusammen,
für eine Abrechnungstabelle habe ich Fahrten, die stattfinden, zusammengefasst.
Nun möchte ich bei bestimmten Fahrten, (sollten diese im "Arbeitsblatt" vorkommen), die Endzeit um eine "Pufferzeit" ergänzen.
Ich habe dazu ein zweites Blatt mit dem Namen "Pufferzeiten", in dem die Fahrten mit den möglichen Pufferzeiten gepflegt ist.
Ich möchte nun mittels Makro nachschauen, ob im Arbeitsblatt eine Fahrt, die im Blatt "Pufferzeiten" steht, stattfindet und wenn ja, die Ankunftszeit um die im Arbeitsblatt
"Pufferzeiten" definierte Pufferzeit korrigiert wird.
Also, wenn im Arbeitsblatt z.B. auf der Linie 711, eine Fahrt die den Textteil "Im Märchengrund" in der Spalte "von (Beschreibung)" und den Textteil "Am oberen Feld" in der Spalte
"bis (Beschreibung)" enthält sollen zur Ankunftszeit in der Spalte "bis" 00:10 Minuten aufaddiert werden.
So soll das "Arbeitsblatt" nach allen Fahrten aus dem Blatt "Pufferzeiten" durchgeforstet werden.
Ich habe eine sehr arbeitsintensive Methode per Makro erstellen können, allerdings musste ich dabei jede Möglichkeit per "Hand" in das Makro eintragen
(das Makro ist mit eingepflegt und nennt sich "PufferzeitenAnpassen".
Mein bisheriges Makro:
MsgBox "Pufferzeit wird angepasst", vbExclamation
Dim LRPufferzeit As Long, iPufferzeit As Long
With Sheets("Arbeitsblatt")
If .FilterMode Then .ShowAllData ' Autofilter alle
LRPufferzeit = .Cells(.Rows.Count, "B").End(xlUp).Row 'letzte Zeile der Spalte
For iPufferzeit = 2 To LRPufferzeit
If .Cells(iPufferzeit, 3) = "711" And InStr(.Cells(iPufferzeit, 8), "Märchengrund") And InStr(.Cells(iPufferzeit, 10), "Feld") > 0 Then
.Cells(iPufferzeit, 19).Value = .Cells(iPufferzeit, 9).Value 'speichert ursprüngliche Endzeit ab
.Cells(iPufferzeit, 9).Value = .Cells(iPufferzeit, 9).Value + TimeValue("00:10:00")
End If
wobei ich nach dem ersten "Kriterium" jede weiter vorkommende Möglichkeit von Hand eingeben musste (Das Makro ist schon recht lang und unübersichtlich geworden).
Daher meine Frage, ob man nicht die Parameter aus den "Pufferzeiten" irgendwie in das Makro übernehmen kann?
Viele Grüße und besten Dank im Voraus.
Andreas