Arbeitsstunden von einzelnen Mitarbeitern addieren

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von konyma.

    Arbeitsstunden von einzelnen Mitarbeitern addieren

    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:

    Visual Basic-Quellcode

    1. Sub ErsteWoche()
    2. Range("B2").Select
    3. x = Selection.Value
    4. n = 0
    5. While Range("A2").Offset(n, 0).Value <> ""
    6. k = 0
    7. n = 0
    8. Addition k
    9. Prüfe n, x
    10. t = t + 1
    11. n = n + 1
    12. Wend
    13. End Sub
    14. Sub Addition(k As Integer)
    15. While Range("B2").Offset(0, k).Value <> "" And k <= 4
    16. x = x + Range("B2").Offset(0, k).Value
    17. k = k + 1
    18. Wend
    19. End Sub
    20. Sub Prüfe(n As Integer, r As Integer)
    21. If x < 40 Then
    22. If 40 - x > 1 Then
    23. g = Range("A2").Offset(n, 0).Value
    24. b = 40 - x
    25. MsgBox g & " " & "ist" & " " & b & " " & "Stunden" & " " & "im Minus"
    26. Else
    27. r = Range("A2").Offset(n, 0).Value
    28. c = x * 60 - 40 * 60
    29. If c > 0 Then
    30. MsgBox r & " " & "ist" & " " & "nicht im Minus"
    31. Else
    32. p = Abs(c)
    33. MsgBox r & " " & "ist" & " " & p & " " & "Minuten" & " " & "im Minus"
    34. End If
    35. End If
    36. End If
    37. If Range("B2").Offset(0, n).Value > 40 Then
    38. g = Range("A2").Offset(n, o).Value
    39. MsgBox g & " " & "hat mehr als 40 Stunden gearbeitet"
    40. End If
    41. End Sub


    *Titel angepasst, VB-BBCode eingefügt*
    Bilder
    • Unbenannt.png

      7,15 kB, 672×164, 109 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    konyma schrieb:

    aber es läuft einfach nicht

    Ein bisschen spezifischer darfst du schon sein. ;)

    Gibt es Fehlermeldungen? Bist du das Programm mal im Einzelschrittmodus durchgegangen? An welcher Stelle passiert etwas ungewolltes?
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    tschuldigung ;)
    natürlich, also wenn ich es durchlaufen lasse, kommt die meldung: Argumenttyp ByRef unverträglich und markiert mir zeile 9
    über zeile neun versuche ich eine methode aufzurufen, die die einzelnen werte von jedem arbeiter summiert, die zeile 11 soll dann eine methode
    aufrufen, die dann die prüfung durchführt
    gruß