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 Hyperklink senden

    in Microsoft Excel Hilfe
    VBA Hyperklink senden: Hallo zusammen, ich würde gerne ein Makro erstellen mit folgender Aufgabe: Die Datei Speichern (Dateiname aus Zellinhalt, mit Leerzeichen) Diese gespeicherte Datei soll dann in Outlook per...
  3. VBA - Fehler beim Kompilieren (Mehrdeutiger Name - Worksheet_Change)

    in Microsoft Excel Hilfe
    VBA - Fehler beim Kompilieren (Mehrdeutiger Name - Worksheet_Change): Hallo, ich komm leider nicht weiter. Habe 2 Makros die einzeln super Funktionieren, aber leider nicht zusammen. Vielleicht kann jemand helfen. Danke. Option Explicit Sub Datum() Private Sub...
  4. Excel VBA blattschutz Problem

    in Microsoft Excel Hilfe
    Excel VBA blattschutz Problem: Hallo. Ich habe seit ein paar tagen folgendes Problem. Ich habe eine excel tabelle mit mehreren Tabellenblättern. Die Tabellenblätter sind mit einem Blattschutz versehen. Der Blattschutz wurde...
  5. Listenfeld wird nicht immer gefüllt

    in Microsoft Access Hilfe
    Listenfeld wird nicht immer gefüllt: Hallo alle Kenner, in einer Datenbank sind die Werke verschiedener Komponisten mit ihren Werken erfasst. Über ein Kombinationsfeld werden z.B. die Kategorien ausgewählt und die entsprechen Werke...
  6. per suchfeld adressdaten aud sql datenbank einfügen

    in Microsoft Word Hilfe
    per suchfeld adressdaten aud sql datenbank einfügen: Hallo, ich würde gern ein Suchfeld in Word 2016 einfügen das im SQL Server eine Tabelle nach dem eingegebenen Kriterium -> Kundennummer durchsucht und dann das vorgegebene Adressformat in word...
  7. VBA Problem - Tabellenblatt als PDF speichern funktioniert nicht

    in Microsoft Excel Hilfe
    VBA Problem - Tabellenblatt als PDF speichern funktioniert nicht: Hallo zusammen, mein Name ist Marc, und ich bin neu hier... Ich habe ein Problem mit einem Makro und komme leider nicht weiter ☹ vielleicht könnt ihr mir helfen? In der angefügten Datei verwende...
  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