Office: Datediff ist aristokratisch widerspenstig

Helfe beim Thema Datediff ist aristokratisch widerspenstig in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Moin allerseits, mein XL hat seltsame Probleme mit folgender Aufgabe: Ich generiere mithilfe einer Osterformel einen Kalender, in dem alle Feiertage... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von d'r Bastler, 2. September 2022.

  1. d'r Bastler
    d'r Bastler hat Ahnung

    Datediff ist aristokratisch widerspenstig


    Moin allerseits,
    mein XL hat seltsame Probleme mit folgender Aufgabe: Ich generiere mithilfe einer Osterformel einen Kalender, in dem alle Feiertage eines Bundeslandes und die Wochenenden gelistet sind. Das klappt soweit wunderbar. Um jetzt aber auch noch mögliche Brückentage anzuzeigen, verwende ich diesen Code, der über die gesamten ca. 120 Termine geht, und bei einem Abstand von zwei Tagen das Datum des dazwischen liegenden Tages in Spalte 4 hinter den ersten Tag einfügt. Auch das klappt bestens, bis auf genau ein Datum: 06.01.2022 (Feiertag in BaWü) und dem 08.01.2022 (Sonntag). Liegt wie in 2026 ein Sonntag zwei Tage vor dem Feiertag, ist alles gut. [Nachtrag: die gleiche Konstellation gab es auch in 2001, auch da erscheint der Fehler mit der gleichen falschen Zahl]

    Mit welchen Voodoo-Mitteln könnten die Drei Könige mir hier dazwischen funken?

    Code:
    Sub test()
    With Me
    .Cells.Columns(4).Clear
    
    r = .Cells(Rows.Count, 1).End(xlUp).Row
    
        For i = 2 To r
                If DateDiff("d", .Cells(i, 1), .Cells(i + 1, 1)) = 2 Then
                    .Cells(i, 4) = Format(.Cells(i, 4), "dd.mm.yyyy")
                    .Cells(i, 4) = .Cells(i, 1) + 1
                    b = b + 1
                End If
        Next i
        .Cells(1, 4) = "Brücken"
        sBridge = vbNewLine & vbTab & "und " & b & " Brückentage."
        MsgBox sBridge
    End With
    End Sub
    Der Code liegt bei mir in einem allg. Modul, hier in der Tabelle. Der Effekt ist der gleiche. With Me ist hier eigentlich unnötig und Option Explicit mein Standard. Das Format für Spalte 4 ist Datum kurz.

    Vielen Dank vorab und Grüße

    d'r Bastler
     
    d'r Bastler, 2. September 2022
    #1
  2. {Boris} hat Ahnung
    Hi Bastler,

    zieh Spalte A mal breiter und entferne die zentrierte Ausrichtung. Was fällt Dir auf? ;-)
     
    1 Person gefällt das.
  3. d'r Bastler
    d'r Bastler hat Ahnung
    ... dass die Spalte jetzt breiter ist und die Werte linksbündig? Ich kann da nichts verstecktes/abweichendes finden. du? Dann lass mich lernen.

    Ich hatte zwischen drin mal eine "Lösung", in dem ich meine Formel umgedreht habe: nicht frühere Wert plus 1, sondern späterer Wert minus 1. Für den 06.01.2022 hat das auch geholfen. Dafür habe ich bei anderen Werten Datensalat.

    Danke für den Versuch! und Grüße
     
    d'r Bastler, 2. September 2022
    #3
  4. steve1da Office Guru

    Datediff ist aristokratisch widerspenstig

    Hola,
    schreib mal in B2:
    =istzahl(A2)
    und zieh die Formel runter.
    Gruß,
    steve1da
     
    steve1da, 2. September 2022
    #4
    1 Person gefällt das.
  5. d'r Bastler
    d'r Bastler hat Ahnung
    Moin Steve

    entgegen meiner naiven Erwartung erscheinen in zwei Zeilen der Beispieldaten (abgesehen von der letzten Zeile, die ich manuell eingegeben habe, alle ein 1:1 C'nP aus meiner Original-Datei) statt einer 1 eine 0. Danke für diesen Kniff! Aber wieso die werden die Zahlen/Datum(se) nicht erkannt?
    Hergestellt und formatiert (Datum kurz) sind die Werte alle auf die gleiche Weise: Einmal ab dem 01.01. & sJahr bis 365/366 +1 Tag mit dem Wochentag Sa/So als Filter. Dann eine Reihe von festen Feiertagen (abgerufen aus einem Array) und eben die Osterformel mit ihren Bezügen. Der Fehler tritt auch nach Umbau der datediff-Formel in allen drei Gruppen auf. Im Ergebnis sind sie alle korrekt, aber was kann dazu führen, dass XL sie nicht als Wert erkennt?
    Meinen Versuch in die Format-Richtung habt Ihr sicherlich gesehen. Ich werde ihn mal auch in die drei Quell-Routinen einbauen. Mal schauen.

    Lieben Dank für die Unterstützung!
     
    d'r Bastler, 2. September 2022
    #5
  6. d'r Bastler
    d'r Bastler hat Ahnung
    Aber Hola, die Waldfee!!

    dieser Kniff zur Überprüfung des Formats ist echt hohe Kunst. Vielen Dank dafür!!

    Tatsächlich hatte ich die Termine der unbeweglichen als String in die Liste geschrieben, anstatt sie wie die anderen beiden Gruppen als Date. Ich hatte angenommen, die Zellformatierung würde ausreichen. Tut sie aber nicht. Nachdem ich den zusammengesetzten String in ein Date übertragen habe, klappt's auch mit dem Brückentag.

    Vielen, vielen Dank! Wieder was gelernt Datediff ist aristokratisch widerspenstig *:)*
    Schönen Abend noch!

    Nachtrag @Boris: Jetzt glaube ich zu verstehen, was Du mit Deinem Vorschlag zeigen wolltest: Die vermeintlichen Datum(se) sollten sich nach dem Entfernen der Horizontalen Ausrichtung als Text entlarven und deshalb nicht korrekt berechnet werden. Danke Dir!
     
    d'r Bastler, 2. September 2022
    #6
  7. {Boris} hat Ahnung
    Hi Bastler,

    ... dass die Spalte jetzt breiter ist und die Werte linksbündig? Ich kann da nichts verstecktes/abweichendes finden. du?

    Ja - siehe Screenshot. Wie kann es sein, dass der bei Dir anders aussieht?

    Datediff ist aristokratisch widerspenstig Bastler.jpg
     
  8. d'r Bastler
    d'r Bastler hat Ahnung

    Datediff ist aristokratisch widerspenstig

    weil der kleine dumme Bastler alles linksbündig formatiert hatte ...Datediff ist aristokratisch widerspenstig :cool:
    Aber er ist ja lernfähig und hat's auch schon öffentlich aufgeschrieben. Du weißt schon wo ...Datediff ist aristokratisch widerspenstig *;)*
     
    d'r Bastler, 2. September 2022
    #8
Thema:

Datediff ist aristokratisch widerspenstig

Die Seite wird geladen...
  1. Datediff ist aristokratisch widerspenstig - Similar Threads - Datediff aristokratisch widerspenstig

  2. Datediff im Format Tag, Stunden, Minuten, Sekunden

    in Microsoft Access Hilfe
    Datediff im Format Tag, Stunden, Minuten, Sekunden: Hallo, per Datediff möchte ich mir die Differenz von 2 Daten ausgeben lassen, Also z.b. Datum1 = 01.05.2010 22:36:15 Datum2 = 02.05.2010 22:36:15 Aber in diesem Format: 1 Tag, 0 Stunden, 0...
  3. DateDiff-Funktion

    in Microsoft Access Tutorials
    DateDiff-Funktion: DateDiff-Funktion Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  4. datediff

    in Microsoft Access Hilfe
    datediff: Hallo, ich möchte mit der Datediff Funktion die Anzahl der Tage ermitteln die im aktuellen Monat vergangen sind. Mein Versuch datediff("d";01.04.2007;datum()) führt leider zu einem Fehler....
  5. widerspenstige Verbindungslinie

    in Microsoft Word Hilfe
    widerspenstige Verbindungslinie: Hallo, ich arbeite mit der Word Version 2000 ich muss Ablaufschemata erstellen und dabei Kästchen mit Verbindungslinien verbinden. Dabei sucht sich Word seinen eigenen Weg, wenn man die...
  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