Hi liebe Community,
ich bin schon voll am Verzweifeln. Folgende Aufgabe:
Schreiben Sie eine Sub namens ErsteWoche, welche für jeden Mitarbeiter die Arbeitszeiten
der ersten Woche auf Einhaltung des 40-Stunden-Vertrages hin überprüft und wie
in Teilaufgabe a.) Minuszeiten bzw. Minusminuten in einem Meldungsfenster ausgibt.
Minuszeiten sollen auf zwei Nachkommastellen und Minusminuten auf ganze Minuten
gerundet werden.
Die dazugehörige Exceldatei hab ich angehängt(falls es nicht sichtbar ist: von A2 bis A7 stehen Namen, von B2 bis H2 JEWEILS die Stunden). Folgendes habe ich programmiert, aber es läuft einfach nicht:
*Titel angepasst, VB-BBCode eingefügt*
ich bin schon voll am Verzweifeln. Folgende Aufgabe:
Schreiben Sie eine Sub namens ErsteWoche, welche für jeden Mitarbeiter die Arbeitszeiten
der ersten Woche auf Einhaltung des 40-Stunden-Vertrages hin überprüft und wie
in Teilaufgabe a.) Minuszeiten bzw. Minusminuten in einem Meldungsfenster ausgibt.
Minuszeiten sollen auf zwei Nachkommastellen und Minusminuten auf ganze Minuten
gerundet werden.
Die dazugehörige Exceldatei hab ich angehängt(falls es nicht sichtbar ist: von A2 bis A7 stehen Namen, von B2 bis H2 JEWEILS die Stunden). Folgendes habe ich programmiert, aber es läuft einfach nicht:
Visual Basic-Quellcode
- Sub ErsteWoche()
- Range("B2").Select
- x = Selection.Value
- n = 0
- While Range("A2").Offset(n, 0).Value <> ""
- k = 0
- n = 0
- Addition k
- Prüfe n, x
- t = t + 1
- n = n + 1
- Wend
- End Sub
- Sub Addition(k As Integer)
- While Range("B2").Offset(0, k).Value <> "" And k <= 4
- x = x + Range("B2").Offset(0, k).Value
- k = k + 1
- Wend
- End Sub
- Sub Prüfe(n As Integer, r As Integer)
- If x < 40 Then
- If 40 - x > 1 Then
- g = Range("A2").Offset(n, 0).Value
- b = 40 - x
- MsgBox g & " " & "ist" & " " & b & " " & "Stunden" & " " & "im Minus"
- Else
- r = Range("A2").Offset(n, 0).Value
- c = x * 60 - 40 * 60
- If c > 0 Then
- MsgBox r & " " & "ist" & " " & "nicht im Minus"
- Else
- p = Abs(c)
- MsgBox r & " " & "ist" & " " & p & " " & "Minuten" & " " & "im Minus"
- End If
- End If
- End If
- If Range("B2").Offset(0, n).Value > 40 Then
- g = Range("A2").Offset(n, o).Value
- MsgBox g & " " & "hat mehr als 40 Stunden gearbeitet"
- End If
- End Sub
*Titel angepasst, VB-BBCode eingefügt*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()