Summenwert ermitteln, bei erfülltem Kriterium VBA/ Excel

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Summenwert ermitteln, bei erfülltem Kriterium VBA/ Excel

    Hallo zusammen, ich habe eine Frage, ob mein Vorhaben möglich ist mit einem Makro zu lösen..
    Ich habe bei Excel in der Spalte B diverse Uhrzeiten stehen, die chronologisch angeordnet sind. In der Spalte C habe ich Stillstandzeiten, die zu dieser Uhrzeit auftraten. Ich muss jetzt immer von einer Zelle, mit der Uhrzeit bis zur nächsten Zeit, die mindestens 6 Stunden beträgt, die Stillstandzeiten summieren.
    So schaut die Tabelle aus:


    ABCD
    1DatumZeitStillstand
    219.04.202201:12:30

    00:06:00

    319.04.2022

    02:51:30

    00:02:00

    419.04.2022

    03:25:30

    00:02:00

    519.04.2022

    05:32:30

    00:02:30

    619.04.2022

    07:18:30

    00:09:30

    719.04.2022

    08:59:30

    00:03:30

    819.04.2022

    11:08:00

    00:03:00

    919.04.2022

    12:22:30

    00:02:00


    Jetzt muss zB. in der Zelle D2, die Summe der Stillstandzeiten zwischen: 01:12:30 (B2) und 07:18:30 (B6) stehen, da ja hier mind. 6 Stunden dazwischen sind. Also Summe C2:C6
    In der Zelle D2, dann entsprechend zwischen 02:51:30 (B3) und 08:59:30 (B7), die Summe von C3:C7
    usw..
    Ich hoffe, es klingt einigermaßen verständlich. Würde mich freuen, wenn es irgendwas gibt, was das ganze etwas automatisiert
    Klingt nicht sonderlich schwer

    Quellcode

    1. 'Schleife 1
    2. Gehe als Startzeile die Zeile 2 bis letzteZeile folgendes durch:
    3. 'Schleife 2
    4. Gehe als aktuelleZeile von Startzeile Bis letzteZeile folgendes durch:
    5. Wenn Zeit von aktuelleZeile minus Zeit von Startzeile >= 6 Stunden, dann summiere die Werte in Spalte C von Startzeile bis aktuelleZeile und schreibe sie in Spalte D der aktuellenZeile; dann: verlasse die Schleife 2
    6. Ende Schleife2
    7. Ende Schleife1

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Das ist schlecht, denn wir helfen gerne, wenn es darum geht, Probleme bei vorhandenem Code zu lösen. Das Forum gibt es nicht, um Code zu schreiben, den andere brauchen, um ihren Job zu erledigen.
    Mein Pseudocode löst m.E. das Problem. Den Code in VBA umzusetzen, ist Dein Job. Aber ich will natürlich keinen Leser davon abhalten, das für Dich zu erledigen …
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @SZR2D
    Wenn du versuchst, VaporiZed's Vorschlag in VBA umzusetzen, kannst du deinen Versuch gerne hier veröffentlichen und wir korrigieren und optimieren ihn.
    Wenn du eine Fertiglösung ohne eigenes Zutun haben möchtest, kannst du eine Anfrage im Marktplatz platzieren. Möglicherweise ist es jemandem ja wirklich gerade sehr langweilig.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --