Auftragsende berechnen
#11
Photo 
Ahh, so geht das hier.
   
Top
#12
Hallo,

falls eine Erklärung gewünscht (warum soll ich es erklären?!), ich besuche das Forum mit einem Tablet, da gibt es nur einen mäßigen viewer für xlsx-Dateien. Einen Transfer auf den pc mache ich, ist zu umständlich und auch vor den Zeiten von 'locky' war mir dies zu unsicher. Das muss niemand persönlich nehmen.

@Jensen: das Bild ist nett, aber ich kann damit nichts anfangen. Bitte schreibe das Anfangsdatum und die Dauer in den Text oder lade eine xlsx-Datei hoch.

Mfg
Top
#13
Habe das Modul gelöscht und wieder als xlsx gespeichert.
Das ganze nun im Anhang.

.xlsx   muster.xlsx (Größe: 21,19 KB / Downloads: 12)
Top
#14
(30.03.2016, 14:21)Fennek schrieb: Hallo,
...warum soll ich es erklären?!...
Mfg

Hallo, weil es sonst falsch verstanden werden könnte... Zum Beispiel könnte man das als überheblich auslegen... ... und das könnte man persönlich nehmen... Nix für ungut...
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#15
(30.03.2016, 14:25)Jensen schrieb: Habe das Modul gelöscht und wieder als xlsx gespeichert.
Das ganze nun im Anhang.

Hallo, wie unterscheidet sich diese Datei von der der, die du schon gepostet hast (Beitrag #3) ..?
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#16
Hallo Jens,

auch mit dem Start 24.3.2016 und der Dauer von 7 Stunden zeigt ir das richtige Ergebnis an.


Mfg
Top
#17
Es sind die geforderten Anfangszeiten enthalten und der "berechnen" Button. Die erste Startzeit ist auf einen Freitag in der Nacht und sollte eigentlich zwei Stunden später fertig sein, jedoch endet dieser mit der Funktion von Fennek bei mir am Sonntag.
Die zweite Startzeit wäre als Beispiel Donnerstag vor "Karfreitag" um zu testen ob die Feiertage mit einbezogen wurden, jedoch gab es auch hier bei mir ein Ende auf einem Sonntag.
Top
#18
Hallo,

ein Fehler war, dass im Makro die Standardeinstellung für den Wochentag genutzt wurde und das ist das us-Format mit 1=Sonntag

Hier die Korrektur:

Code:
Sub Jensen()
lr = cells(rows.count, "A").end(xlup).row
For i = 2 to lr
Cells(i, "C") = cells(i, "A") + cells(i, "B")
Feiertag
Beginn:
Tadd =0
Wtag = weekday(int(cells(i, "C")),2)
Select case wtag
Case 1
Tadd =0.25
Case 6
If (cdbl(cells(i, "C") - wtag) > 0.25 then Tadd =0.75
Case 7
Tadd =1
End select
Cells(i, "C") = cells(i, "C") + Tadd
If Wtag > 5 then goto beginn
Next i
End sub

Sub Feiertag()
Dim rng as range
lr2 = cells(rows.count, "i").end(xlup).row
For i = 2 to lr2
Flag = true
Do while flag
Set rng = columns("c").find(cells(i, "i"))
If not rng is nothing then
Cells(rng.row, "C") = cells(rng.row, "C") +1
Else
Flag = false
End if
Loop
Next i
End sub
Top
#19
Hallo Fennek,
jetzt kommen wir der Lösung schon näher.
Ich habe noch eine fehlende Klammer in: 
Code:
If (CDbl(Cells(i, "C") - wtag)) > 0.25 Then Tadd = 0.75

hinzugefügt.


Jetzt gibt es allerdings ein weiteres Problem, bleiben wir beim Startzeitpunkt:
24.03.2016 18:00 mit einer Dauer von 07:00 Stunden.
Die Funktion gibt mir jetzt ein Ende von: 29.03.2016 19:00 aus.
Hier mal meine Rechnung im Kopf:
Am 24.03.2016 18:00 wird gestartet und es bleiben noch 06:00 Stunden bis "Feiertag" die produktiv genutzt werden, bleiben also noch 01:00 Reststunde die erst wieder ab Dienstag 29.03.2016 06:00 starten könnten. Also wäre das theoretische Ende am: 29.03.2016 07:00.
Vielleicht habe ich auch gerade einen Denkfehler.
Top
#20
Hallo,

einige Änderungen sind mir noch aufgefallen, aber ich werde den gesamten code nicht noch einmal abtippen.

Im case 6 sollte es heisen:

Case 6
If (cdbl(cells(i, "C")) - int(cdbl(cells(i, "C")))) > 0.25 then
Tadd = 0.75
Flag = true
Else flag = false
End if

Und der Sprungbefehl muss sein:

If flag then goto Beginn

Mfg

PS: wenn etwas nicht klappen sollte, lade bitte den gesamten code hoch
Top


Gehe zu:


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