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
     
    thoaug, 31. März 2021
    #1
  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
     
    thoaug, 31. März 2021
    #3
  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. Werte der letzten Zelle einer Spalte in mehreren Tabellenblättern ermitteln

    in Microsoft Excel Hilfe
    Werte der letzten Zelle einer Spalte in mehreren Tabellenblättern ermitteln: Hallihalllo, Ich sitze gerade an meine Bachelorarbeit und muss mittels VBA ein Auswertungsprogramm für erhobene Daten erarbeiten. Ich suche schon ewig im Internet nach dem passenden Code und...
  3. Excel VBA Problem create button

    in Microsoft Excel Hilfe
    Excel VBA Problem create button: Hallo liebe Community, ich hoffe ihr könnt helfen, bin am verzweifeln und kann den Fehler einfach nicht finden. Wir haben eine aufwendig gestallte Excel Liste, wo wir unter anderem Button...
  4. VBA mit zwei Kriterien

    in Microsoft Excel Hilfe
    VBA mit zwei Kriterien: Salü, ich muss wieder um Mithilfe bitten... Ich habe eine Tabelle1, in der steht in Spalte A ein Name, in Spalte B ein Datum und in Spalte C die Gesamtzeit. Nun habe ich eine Tabelle2, in der in...
  5. Excel mit Macro oder VBA für Android Tablet

    in Microsoft Excel Hilfe
    Excel mit Macro oder VBA für Android Tablet: Hallo, ich suche eine Möglichekeit eine Tabelle auf dem Tablet unter Android laufen zu lassen. Bin nicht sehr fortgeschritten aber motiviert. Über und unter einem Feld habe ich ich Buttons die...
  6. Verständnisfrage und Lösung für Namensliste (VBA)

    in Microsoft Excel Hilfe
    Verständnisfrage und Lösung für Namensliste (VBA): Salü zäme, ich bin neu hier und versuche mich an VBA. Grundkenntnisse sind vorhanden, dennoch stehe ich vor einem Problem, wo meine Logik im Moment aussetzt... Ich habe eine Namensliste auf...
  7. Excel-VBA Werte addieren und in nächste freie Zelle eintragen

    in Microsoft Excel Hilfe
    Excel-VBA Werte addieren und in nächste freie Zelle eintragen: Hallo zusammen, ich hab ein kleines Problem und komme leider nicht wurklich voran. Ich habe eine Datei zu einem Produkt. Dort sind für eine bestimmtes Bestelldatum und Ausführungstag die Werte...
  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