26.10.2021, 12:17
Ich habe folgendes Makro
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call wrapper_week(18, 4)
Call wrapper_week(26, 4)
Call wrapper_week(34, 4)
Call wrapper_week(42, 4)
Call wrapper_week(50, 4)
End Sub
Private Sub wrapper_week(m_row As Integer, m_col As Integer)
m_row = 18
m_col = 4
For i = m_row To m_row + 6
Call calc_time(i, m_col)
Next i
Call calc_sum(m_row + 7, m - col + 2)
End Sub
Private Sub calc_time(m_row As Integer, m_col As Integer)
If Cells(m_row, m_col) = "" Or Cells(m_row, m_col + 1) = "" Then
Cells(m_row, m_col + 2) = ""
ElseIf Cells(m_row, m_col + 1) > Cells(m_row, m_col) Then
Cells(m_row, m_col + 2) = (Cells(m_row, m_col + 1) - Cells(m_row, m_col))
Else
'over the night
Cells(m_row, m_col + 2) = (1 - (Cells(m_row, m_col) - Cells(m_row, m_col + 1)))
End If
End Sub
Private Sub calc_sum(m_row As Integer, m_col As Integer)
Cells(m_row, m_col) = WorksheetFunktion.Sum(Range(Cells(m_row - 7, m_col), Cells(m_row - 1, m_col)))
End Sub
Ich habe hier eine Falsche denkweise drin
der Mitarbeiter hat ein vorgegebenen Dienstplan. OK
Jest macht der Mitarbeiter länger Dienst. Klasse
Mit dem Button Nachberechnen soll jetzt die Dienstzeit neu berechnet werden
mit meiner Version ist das schei**
könnt Ihr mir helfen
Ich kann keine IF, Else und Wenns mehr sehen
Im Anhang meine Mappe
Im Januar ist das Beispiel
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call wrapper_week(18, 4)
Call wrapper_week(26, 4)
Call wrapper_week(34, 4)
Call wrapper_week(42, 4)
Call wrapper_week(50, 4)
End Sub
Private Sub wrapper_week(m_row As Integer, m_col As Integer)
m_row = 18
m_col = 4
For i = m_row To m_row + 6
Call calc_time(i, m_col)
Next i
Call calc_sum(m_row + 7, m - col + 2)
End Sub
Private Sub calc_time(m_row As Integer, m_col As Integer)
If Cells(m_row, m_col) = "" Or Cells(m_row, m_col + 1) = "" Then
Cells(m_row, m_col + 2) = ""
ElseIf Cells(m_row, m_col + 1) > Cells(m_row, m_col) Then
Cells(m_row, m_col + 2) = (Cells(m_row, m_col + 1) - Cells(m_row, m_col))
Else
'over the night
Cells(m_row, m_col + 2) = (1 - (Cells(m_row, m_col) - Cells(m_row, m_col + 1)))
End If
End Sub
Private Sub calc_sum(m_row As Integer, m_col As Integer)
Cells(m_row, m_col) = WorksheetFunktion.Sum(Range(Cells(m_row - 7, m_col), Cells(m_row - 1, m_col)))
End Sub
Ich habe hier eine Falsche denkweise drin
der Mitarbeiter hat ein vorgegebenen Dienstplan. OK
Jest macht der Mitarbeiter länger Dienst. Klasse
Mit dem Button Nachberechnen soll jetzt die Dienstzeit neu berechnet werden
mit meiner Version ist das schei**
könnt Ihr mir helfen
Ich kann keine IF, Else und Wenns mehr sehen
Im Anhang meine Mappe
Im Januar ist das Beispiel