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 prüfen - eventuell Fehler

    in Microsoft Access Hilfe
    VBA prüfen - eventuell Fehler: Hallo Fachkräfte, hier ein VBA-Modul das einen Fehler enthalten soll. Case 2 wurde in 2022 geändert. In Case 3 , 4 oder ... soll auch noch ein Fehler sein. Wo genau was falsch ist und wie...
  3. VBA: Fehler 0x800a03ec beim Ribbon

    in Microsoft Excel Hilfe
    VBA: Fehler 0x800a03ec beim Ribbon: Hallo, ich habe eine Tabelle, die ich ohne Titelleiste anzeigen lassen möchte. Dazu habe ich mir zwei Makros geschrieben Sub AusBlenden() CommandBars("Worksheet Menu Bar").Enabled = False...
  4. Dateiname der aktuellen Datei als Variable

    in Sonstiges
    Dateiname der aktuellen Datei als Variable: Hallo in die Runde, kann ich unter VBA (Excel/Outlook) den Namen der aktuellen Datei auslesen und in einer Variable weiterverarbeiten? Danke im Voraus, Andreas
  5. Makro um E-Mails zu verschieben

    in Microsoft Outlook Hilfe
    Makro um E-Mails zu verschieben: Ich suche ein Makro das ich auf einem Rechner ausführen lassen kann um gelesene Mails z.B. auf dem Handy in einen bestimmten Ordner zu verschieben um meinen Posteingang "sauber" zu halten....
  6. Access VBA – Prüfen, ob eine PDF bereits geöffnet ist, bevor sie erneut geöffnet wird

    in Microsoft Access Hilfe
    Access VBA – Prüfen, ob eine PDF bereits geöffnet ist, bevor sie erneut geöffnet wird: Beschreibung: Ich arbeite mit Access VBA und habe eine Funktion implementiert, die beim Klick auf einen Button („Unterzeichnet“) einen Bericht als PDF exportiert. Was aktuell funktioniert:...
  7. VBA: Was ist "Tabelle1"?

    in Microsoft Excel Hilfe
    VBA: Was ist "Tabelle1"?: Hallo, ich bin gerade dabei einen VBA-Code für meine Zwecke anzupassen. Leider funktioniert eine der Berechnungen nicht mehr und ich bin nun auf Fehlersuche. Dabei verstehe ich (unter anderem)...
  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