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. VBA in einer Zeile zu lang

    in Microsoft Excel Hilfe
    VBA in einer Zeile zu lang: Moin, mein VBA Code ist für eine Zeile zu lang. Kann mir einer helfen wie ich den auf 2 Zeilen aufteilen Kann? arrSchuhDaten = Array(Range("A6"), Range("F6"), Range("J6"), Range("A7"),...
  3. Listbox wird nicht breiter, Schriftgrösse ändert sich

    in Microsoft Excel Hilfe
    Listbox wird nicht breiter, Schriftgrösse ändert sich: Hallo, ich habe ein Formular dessen Breite ich mit der Maus ändern kann. Im Formular habe ich einen Rahmen und darin eine Listbox deren Breite an die Formularbreite angepasst wird....
  4. Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch

    in Microsoft Excel Hilfe
    Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch: Hallo zusammen, erstmal danke für all die Tipps und Kniffe, die ich ohne eigenen Thread gefunden und gelernt habe. Leider finde ich mein Thema nirgendwo... Aktuell habe ich zwei Spalten mit...
  5. Per Hyperlink ausgeblendetes Blatt einblenden

    in Microsoft Excel Hilfe
    Per Hyperlink ausgeblendetes Blatt einblenden: Hola ins Forum, ich bräuchte mal wieder eure Hilfe. Ich habe ein Tabellenblatt das mir als Register dient und wo Hyperlinks eingefügt sind um auf das dazugehörige Blatt zu springen. Diese Blätter...
  6. Bilder über VBA Größe und DPI ändern für Webshop

    in Microsoft Excel Hilfe
    Bilder über VBA Größe und DPI ändern für Webshop: Hallo Excel Spezialisten, Ich habe mir eine recht aufwendige Tabelle gebastelt, aus der ich Daten für meinen Webshop generiere und in einer .csv bereitstelle. Es werden neue Preislisten...
  7. VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen

    in Microsoft Word Hilfe
    VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen: Hallo zusammen, ich habe eine Word-Vorlage mit Platzhaltern, in die ich mit VBA Daten aus einer Excel-Datei einfüge (in eine Excel-Zeile schreibe ich alle Daten für ein neues Word-Dokument). So...
  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