Office: Differenz zwischen 2 Datum berechnen

Helfe beim Thema Differenz zwischen 2 Datum berechnen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; woher soll checkdate wissen in welchem Bereich du prüfst wenn du das optionale Argument nicht mitgibst? z.b. CheckDate(dteValue, 14) Ja, hab ich... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von florianb, 15. Oktober 2020.

  1. Differenz zwischen 2 Datum berechnen


    Ja, hab ich verstanden. Ist auch logisch. Hab ich umgesetzt

    Tut mir leid, aber ich verstehe es einfach nicht. Vielleicht denke ich zu kompliziert. Aber er will die Berechnungen nicht durchführen
     
    florianb, 20. Oktober 2020
    #16
  2. ich habe es mal mit einer DateDiff Version versucht. Leider auch ohne Erfolg.

    Code:
    Code:
     
    florianb, 20. Oktober 2020
    #17
  3. Hallo Florian,

    1.)
    wenn es bereits eine Funktion Checkdate() gibt, paßt man den Aufruf dieser Funktion nach seinen Bedürfnissen an und nicht umgekehrt die bereits getestete Funktion. *frown.gif* In einem echten Projekt müßte danach die veränderte Funktion nochmal getestet und qualitätsgesichert werden! Das hat nichts mehr mit wiederverwendbarem Code zu tun!

    2.)
    immer "Option Explicit" in jedem Modul verwenden!

    3.)
    In deinem letzten Beispiel mit DateDiff sollte der zurückgegebene Wert dem deklarierten Rückgabewert der Funktion entsprechen, also eine als boolean definierte Funktion kann keinen Integer Wert zurückgeben!

    4) Variablennamen sollten nicht einem Name einer VBA-Funktion entsprechen, auch nicht der deutschsprachigen Übersetzung, wie z.B. Datum, Date usw. Das führt nur zu Verwechslungen und erschwert die Lesbarkeit.

    Hier mal ein Beispiel, wie so eine Funktion angewendet werden kann:
    Code:
    Mit ein bißchen boolescher Algebra kann Checkdate() auch für Bereiche verwendete werden, aber wie schon angedeutet, ist sie dafür eigentlich nicht konzipiert.

    Deshalb gibt es jetzt die Funktion CheckDate2(), die in dem obigen Beispiel auf Bereichsgrenzen prüft und einen entsprechenden Index zurück gibt. Wird kein Bereich gefunden, wird der Wert -1 zurückgegeben Die Bereiche müssen dabei aufsteigend sortiert übergeben werden!
    Code:
    Anbei eine kleine Demo zum probieren. Zum besseren Verständnis kannst du ja mal die Funktionen im Einzelschritt duchgehen und dabei im Lokalfenster die Werte der Variablen beobachten.

    Gruß Ulrich
     
    knobbi38, 20. Oktober 2020
    #18
  4. Differenz zwischen 2 Datum berechnen

    \@ralf_bx:
    Wenn die Funktionsdeklaration

    Public Function CheckDate(ByVal dteValue As Date, Optional Days14 As Long = 14, Optional Days21 As Long = 21, Optional Days60 As Long = 60) As Boolean

    lautet, müssen die Argumente nicht noch mit

    if Days14...... is nothing oder ungleich ""

    geprüft werden. Ein Long-Wert kann niemals Nothing oder Leerstring sein, das war schon richtig, aber in dem Beispiel stimmte einfach der Datentyp des Funktionsrückgabewertes nicht.

    Gruß Ulrich
     
    knobbi38, 20. Oktober 2020
    #19
  5. Ich habe zwar einige Zeit gebraucht um den (für mich) sehr komplizierten Code zu verstehen. Ich habe ihn dann ein wenig umgeschrieben und eine If ElseIf Verzweigung eingebaut. Nun funktioniert es super. Vielen Dank Ulrich

    Code:
    Code:
     
    florianb, 21. Oktober 2020
    #20
  6. Hallo Florian,

    so paßt das schon viel besser. *Smilie

    Mit Option Explicit wird man gezwungen, jede Variabel zu deklarieren und dabei den Datentyp gleich mit festzulegen. So werden Tippfehler bei den Variablennamen vermieden und es werden die Datentypen beim Kompilieren gleich mit überprüft. Viele Fehler werden so schon im Vorfeld eleminiert.
    Siehe auch: Option-Explicit-Statement

    Hier die Variante mit der Checkdate2() Funktion bei gleicher Funktionalität:
    Code:
    Der wesentliche Unterschied liegt darin, daß die CheckDate2() Funktion gleich einen Index zurückgibt, der hier geschickt dazu verwendet wird, einen Zähler für die Bereiche mit einem Array aufzubauen und die Treffer damit aufzusummieren. Da die Rückgabewerte der CheckDate2() Funktion im Bereich von -1 ... 2 liegen können, wird der Rückgabewert mit +1 an die Array-Dimension angepaßt und direkt als Index verwendet.

    Die Routine wird damit nochmal viel "aufgeräumter".

    Gruß Ulrich
     
    knobbi38, 21. Oktober 2020
    #21
  7. Ah, ok. Vielen Dank für eure Hilfe.
     
    florianb, 23. Oktober 2020
    #22
Thema:

Differenz zwischen 2 Datum berechnen

Die Seite wird geladen...
  1. Differenz zwischen 2 Datum berechnen - Similar Threads - Differenz Datum berechnen

  2. Wenn der Wert größer ist als 10 will ich die Differenz in einer Spalte haben

    in Microsoft Excel Hilfe
    Wenn der Wert größer ist als 10 will ich die Differenz in einer Spalte haben: Hallo zusammen, auf dem Bild im Anhang ist mein Zeiterfassungssystem zusehen. Spalte E ist meine Gesamtstundenzahl, wenn diese Zahl größer ist als 10 möchte ich die Differenz daraus in Spalte I...
  3. Differenz zwischen Daten - Anzeige in Tage/Stunden/Minuten

    in Microsoft Excel Hilfe
    Differenz zwischen Daten - Anzeige in Tage/Stunden/Minuten: Hallo zusammen, mit folgender Formel ermittele ich den Unterschied zwischen zwei bestimmten Datumangaben (inkl. Uhrzeit) =NETTOARBEITSTAGE(G5;H5)-1-REST(G5;1)+REST(H5;1) Funktioniert auch...
  4. Differenz zwischen zwei Uhrzeiten mit Sekunden angabe

    in Microsoft Excel Hilfe
    Differenz zwischen zwei Uhrzeiten mit Sekunden angabe: Hallo zusammen, ich würde gerne ein WENN Funktion aufbauen für die Differenz zwischen zwei Zeitstempel. Mit folgenden Bedingungen mit Beispielen: zwischen 00:59:00 und 01:00:25 VERSPÄTET...
  5. Pivot Planzahlen mit Pivot Istzahlen in neuer Pivot vergleichen

    in Microsoft Excel Hilfe
    Pivot Planzahlen mit Pivot Istzahlen in neuer Pivot vergleichen: Hallo, ich suche mir den Wolf nach einer Lösung. Haushaltsbuch, Tabelle mit Istwerten, daraus eine Pivot erstellt. Spalten sind die Monate, Werte sind dich Ausgaben. Zeilen sind die Einnahme bzw....
  6. Kunden Bestell-Intervall

    in Microsoft Access Hilfe
    Kunden Bestell-Intervall: Hallo zusammen, Ich hoffe weiterhelfen kann denn ich verzweifele gerade. Vor ab sei einmal gesagt, dass ich SQL nicht beherrsche. Ich kann zwar Code eingeben, verstehe aber leider nicht was ich da...
  7. Datum: Differenz zweier Daten (ohne Wochenenden)

    in Microsoft Access Hilfe
    Datum: Differenz zweier Daten (ohne Wochenenden): Hallo, Ich habe ein Problem mit dem Vergleich von 2 Daten: Angenommen ich habe als Startdatum 04/26/2007 und als Enddatum 05/16/2007. Jetzt moechte ich die Differenz zwischen beiden Daten, aber...
  8. Differenz zwischen Datum A und Datum B in Tage bzw Monate

    in Microsoft Excel Hilfe
    Differenz zwischen Datum A und Datum B in Tage bzw Monate: Hey Leute, Ich habe folgendes Problem: Ich habe ein Abgabedatum "a" beispielsweise den 7.11.2007 und ein Abgabedatum "b" beispielsweise den 2.2.2008 nun möchte ich daraus die Differenz...
  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