Auftragsende berechnen
#21
Jetzt crasht mein Excel, ich denke es liegt irgendwo an der Funktion "Sub Feiertag". Sobal ich diese aus der Mainfunktion ausklammer geht's ohne Crash jedoch auch ohne Feiertagsberechnung.
Hier der komplette Code:

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
If (CDbl(Cells(i, "C")) - Int(CDbl(Cells(i, "C")))) > 0.25 Then
Tadd = 0.75
flag = True
Else: flag = False
If flag Then GoTo Beginn
End If
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
flag = False
End If
Loop
Next i
End Sub
Top
#22
Hallo,

schade, es bleibt also spannend. Das Unterprogramm 'Feiertage' kann ich erst morgen prüfen,aber im Hauptprogramm ist mir folgendes aufgefallen (aus dem Gedächtnis)

Flage = true
Else
Flag = false
End if

Bitte prüfe im Einzelschrittmodus und berichte die Zeile mit dem Fehler.

Mfg
Top
#23
Kommando zurück...
Es liegt nicht an der Feiertagsfunktion.

Gebe bitte mal als Startzeit z.b: einen Freitag 01.04.2016 21:00 mit einer Dauer von 04:00 Stunden ein, danach crasht Excel bei mir.
Das kommt immer dann wenn ein Auftrag in den Samstag rein geht.
Top
#24
Hallo,

Noch ein Versuch (bei mir läuft es)

Löschen: 
Beginn

Code:
Case 6
If (cells(i, "C") - (int(cells(i, "C"))) > 0.25 then
Tadd = 0.75+1+0.25 'von Sa 6:00 auf Mo 6:00 verschieben
End if
Case 7
Tadd = 1
End select
Cells(i, "C") = cells(i, "C") + Tadd
Next i
End sub
Top
#25
Hallo,

Im Unterprogramm 'Feiertag' fehlt ein 'else':


If not rng   ...
Cells ...
ELSE
Flage = false
End if

Die Kommunikation mit spezifischen Tagen und Dauer ist sehr gut.

Bei meinen Test habe ich auch eine Dauer >24 Stunden getestet -> ok

Mfg
Top
#26
Hallo Fennek,
ich habe eben auch nochmal probiert und alles schein richtig zu sein.
Ein sehr großes Dankeschön an Dich für deine Zeit die du für mich investiert hast.

Xmas33 :28:

EDIT:
Habe doch noch was gefunden:
Code:
Start              Dauer    Ende
04.04.2016 14:00   07:00    05.04.2016 03:00
Jetzt scheint es ein Problem zwischen Montag und Dienstag zu geben, denn enden sollte es am: 04.04.2016 21:00
Top
#27
Hallo,

mühsam ernährt sich das Eichhörnchen (oder der Wüstenfuchs)

Code:
Case 1
If (cells(i, "C") - int(cells(i, "C"))) < 0.25 then Tadd = 0.25
Case 6

Mfg
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • Jensen
Top
#28
Perfekt :)
Top


Gehe zu:


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