Office: (Office 2010) Arbeitszeitberechnung in VBA

Helfe beim Thema Arbeitszeitberechnung in VBA in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Mitglieder, hoffe einer von euch kann mir weiterhelfen :-) Für jede Abteilung haben wir für jeden Monat eine Exceltabelle, in der jeder... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von thoaug, 31. März 2021.

  1. thoaug Neuer User

    Arbeitszeitberechnung in VBA


    Hallo liebe Mitglieder,

    hoffe einer von euch kann mir weiterhelfen :-)

    Für jede Abteilung haben wir für jeden Monat eine Exceltabelle, in der jeder Mitarbeiter seine eigene Monatstabelle hat. In dieser werden z.B. auch Überstunden erfasst.

    Da das Ganze sehr umfangreich ist, würde daran gerne etwas ändern, so dass es nur noch eine Exceltabelle gibt, in der über eine Userform mittels Dropdown der Mitarbeiter ausgewählt werden kann und die entsprechenden Daten erfasst werden können. Excel trägt dann die Daten in die letzte freie Zeile in der Tabelle ein. Der Rest läuft dann über Filter und Pivottabellen.

    Das habe ich soweit auch alles schon hinbekommen aber bei der Berechnung der Formel für die Ü'Std, komme ich leider an meine kaum vorhandenen VBA-Grenzen.

    In der ursprünglichen Excel-Tabelle wird nach der Eingabe einer Start-Uhrzeit im Format hh:mm und einer Ende-Uhrzeit im Format hh:mm und ggf. einer Wegezeit, die entweder 1 Std. oder 2 Std. betragen kann, über eine Formel die Arbeitszeit für Überstunden (Industriestunden =100) berechnet.

    Ein Screenshot wie das in der urspr.Tabelle aussieht habe ich angehängt.

    Die Formel in der Spalte Ü'Std. E6 sieht so aus:

    =STUNDE(WENN(C6=B6;0;WENN(C6>B6;C6-B6;(C6+24)-B6)))+D6+VRUNDEN((MINUTE(WENN(C6=B6;0;WENN(C6>B6;C6-B6;(C6+24)-B6))));15)/60

    Wenn ich die Zeiten über die Userform erfasse bekomme aber eine Fehlermeldung und weiß nicht genau woran es liegt.

    In der neuen Tabelle steht die Start-Uhrzeit in der Spalte G, die Ende-Uhrzeit in der Spalte H, die Wegezeit in der Spalte I und die Formel sollte in der Spalte J eingetragen werden. Der letzte Ansatz sieht so aus:

    .Cells(intErsteLeereZeile, 10).Value.FormulaLocal = "=STUNDE(WENN(RC6=RC5;0;WENN(RC6>RC5;RC6-RC5;(RC6+24)-RC5)))+RC7+VRUNDEN((MINUTE(WENN(RC6=RC5;0;WENN(RC6>RC5;RC6-RC5;(RC6+24)-RC5))));15)/60"

    Ein anderer Ansatz zuvor war:

    .Cells(intErsteLeereZeile, 10).Value.FormulaLocal = "=STUNDE(WENN(RC[-2]=RC[-3];0;WENN(RC[-2]>RC[-3];RC[-2]-RC[-3];(RC[-2]+24)-RC[-3])))+RC[-1]+VRUNDEN((MINUTE(WENN(RC[-2]=RC[-3];0;WENN(RC[-2]>RC[-3];(RC[-2])-RC[-3];(RC[-2]+24)-RC[-3]))));15)/60"

    Hätte einer von euch dazu eine Idee woran das liegen könnte?

    Vielen Dank im voraus für eure Hilfe :-)

    Viele Grüße

    thoaug
     
  2. Beverly
    Beverly Erfahrener User
    Hi,

    wenn du eine Formel eintragen willst, dann hat .Value nichts im Code zu suchen.

    Ich nehme an, dass in der Formel die Zeilennummer 6 außerdem durch die Variable intErsteLeereZeile ersetzt werden soll?

    Code:
    .Cells(intErsteLeereZeile, 10).FormulaLocal = "=STUNDE(WENN(H" & intErsteLeereZeile & "=G" & intErsteLeereZeile & _
        ";0;WENN(H" & intErsteLeereZeile & ">G" & intErsteLeereZeile & ";H" & intErsteLeereZeile & "-G" & _
        intErsteLeereZeile & ";(H" & intErsteLeereZeile & "+24)-G" & intErsteLeereZeile & ")))+I" & _
        intErsteLeereZeile & "+VRUNDEN((MINUTE(WENN(H" & intErsteLeereZeile & "=G" & intErsteLeereZeile & _
        ";0;WENN(H" & intErsteLeereZeile & ">G" & intErsteLeereZeile & ";H" & intErsteLeereZeile & "-G" & _
        intErsteLeereZeile & ";(H" & intErsteLeereZeile & "+24)-G" & intErsteLeereZeile & "))));15)/60"
    


    Arbeitszeitberechnung in VBA GrußformelArbeitszeitberechnung in VBA Beverly's Excel - Inn
     
    Beverly, 31. März 2021
    #2
  3. thoaug Neuer User
    Hallo,

    super mit deinem Code hat es geklappt Arbeitszeitberechnung in VBA *:)* die Formel hätte ich so niemals hinbekommen. Vielen, vielen Dank dafür.

    Viele Grüße

    thoaug
     
  4. Beverly
    Beverly Erfahrener User

    Arbeitszeitberechnung in VBA

    Hi,

    Du musst dabei nur ein bestimmtest Prinzip beachten: die feststehenden Teile der Formel müssen in "" gesetzt werden und mit den varibalen Teilen durch den Operator & verknüpft werden - also so

    "=STUNDE(WENN(H" & intErsteLeereZeile & "=G" & intErsteLeereZeile ...



    Arbeitszeitberechnung in VBA GrußformelArbeitszeitberechnung in VBA Beverly's Excel - Inn
     
    Beverly, 31. März 2021
    #4
Thema:

Arbeitszeitberechnung in VBA

Die Seite wird geladen...
  1. Arbeitszeitberechnung in VBA - Similar Threads - Arbeitszeitberechnung VBA

  2. VBA - Dateinamen anhand von Unterstrich und Großbuchstaben trennen

    in Microsoft Excel Hilfe
    VBA - Dateinamen anhand von Unterstrich und Großbuchstaben trennen: Hallo zusammen, ich würde gern folgendes Projekt realisieren. Ich bekomme regelmäßige pdf- und jpg-Dateien (immer im Format Nachname_Vornamen_Geburtsdatum - z. B.:...
  3. VBA Outlook E-Mailvorschau aktualisieren wg. Flag-Text

    in Microsoft Outlook Hilfe
    VBA Outlook E-Mailvorschau aktualisieren wg. Flag-Text: Hallo Leute, ich benötige bei einem Problem euer Wissen. Ich setze in Outlook einen Flag "Erledig" mit einem individuellen Text (= MdName). Allerdingst wird mir dieser Text erst nach einem...
  4. VBA HTTP Post - Probleme JSON Payload

    in Microsoft Excel Hilfe
    VBA HTTP Post - Probleme JSON Payload: Moin, ich steh auf dem Schlauch.... Ich möchte mit VBA einen HTTP Post senden. Das klappt beim versenden OHNE Payload auch soweit auch ganz gut. Private Function http_post(url As String,...
  5. Kombinationsfeld in VBA auswerten

    in Microsoft Access Hilfe
    Kombinationsfeld in VBA auswerten: Guten Tag, ich habe ein VBA-Problem mit Kombinationsfeldern. Umfeld: Eine Tabelle A mit Namen incl. Adressen, indiziert (NamenID), keine doppelten Einträge möglich. Eine Tabelle B mit Rechnungen,...
  6. Download per VBA nicht aktuell

    in Microsoft Access Hilfe
    Download per VBA nicht aktuell: Hallo, ich nutze in VBA eine Download-Funktion, die mir die neueste Version meines Frontend downloaden soll. Der Download an sich funktioniert, doch leider wird eine alte Version gespeichert. Ich...
  7. Autofilter bei Zelländerung automatisch aktualisieren – ohne VBA

    in Microsoft Excel Hilfe
    Autofilter bei Zelländerung automatisch aktualisieren – ohne VBA: Hallo zusammen, ich habe eine Frage zur automatischen Aktualisierung von Autofilter-Ergebnissen in einer intelligenten Tabelle – und zwar ohne VBA. Ausgangssituation: Ich habe eine intelligente...
  8. Arbeitszeitberechnung macht einen Fehler

    in Microsoft Excel Hilfe
    Arbeitszeitberechnung macht einen Fehler: Hallo und einen schönen guten Tag, ich habe mir eine kleine Tabelle für meine Arbeitszeit erstellt. Lasse die Zeit berechnen von Ende Arbzeit-AnfangArbeitzeit-Pause, was ja in der...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden