Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

VBA-Code - letzter Tag des Monats

Begonnen von dobby110, August 26, 2022, 11:00:22

⏪ vorheriges - nächstes ⏩

dobby110

Hallo zusammen,

ich möchte eine Prüfung durchführen, ob das eingetragene Datum immer dem letzten Tag des Monats entspricht.
Mit letztem Tag des Monats meine ich den letzten Tag des Monats, der über die Eingabemaske eingetragen wurde.

Dazu habe ich bisher folgenden VBA-Code hinterlegt:

Dim D As Byte
Dim lastDay As Byte

D = Left(Me!sucheUltimo, 2)
lastDay = Day(DateSerial(Year(D), Month(D) + 1, 0))
   
    If D <> lastDay Then
    MsgBox "es wurde nicht der letzte Kalendertag als Abfragedatum eingegeben", vbInformation, "falsches Datum"
    Exit Sub
    End If


dieser prüft aber immer auf den aktuellen Monat. Aktuell also auf den 31.08.
Wenn man bspw. den 31.07. eingibt, funktioniert das in dieser Form. Wenn ich aber den 30.06. eingebe, poppt die Message Box mit dem Hinweis auf.

Kann mir jemand sagen, wie der korrekte Code lauten müsste, dass die Prüfung immer den Monat des eingetragenen Datums im Feld "sucheUltimo"  zu Grunde legt und sich nicht mehr auf den aktuellen Monat bezogen wird?

Vorab vielen Dank für die Hilfe

dobby110

hat sich schon erledigt - konnte das Problem lösen :-)

Beaker s.a.

Wie wär's mit diesem Einzeiler
Public Function Ultimo(iYear As Integer, iMonth As Integer)
    Ultimo = (DateSerial(iYear, iMonth + 1, 1 - 1))
End Function
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)