Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten 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
Antworten 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.
Antworten 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
Antworten 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
Antworten 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
Antworten 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
Antworten Top
#28
Perfekt :)
Antworten Top


Gehe zu:


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