Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA letzter Tag Vorquartal

VBA letzter Tag Vorquartal
10.03.2022 16:08:46
Addi
Hallo Zusammen,
ich möchte mittels VBA den letzten Tag des Vorquartals bestimmen...
...angenommen wir schreiben heute den 10.03.2022 so würde ich als Ergebnis den 31.12.2021 benötigen.
Gibt es da ein einfaches Coding zu?
Vielen Dank vorab.
Viele Grüße
Addi
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA letzter Tag Vorquartal
10.03.2022 16:38:35
Rudi
Hallo,
als Formel:
=DATUM(JAHR(A1);MONAT(A1)-REST(MONAT(A1)-1;3);0)
=dateserial(year(datum),month(datum)-(month(datum)-1) Mod 3,0)
Gruß
Rudi
AW: VBA letzter Tag Vorquartal
10.03.2022 16:56:07
Yal
Hallo Addi,
als UDF gehört den Code in einem Modul, nicht in einem Formular, nicht im Codepane eines Blattes.

Public Function VorQuartal(Optional ByVal Datum As Date) As Date
If Datum = 0 Then Datum = Now
VorQuartal = DateSerial(Year(Datum), (DatePart("q", Datum) * 3) - 2, 0)
End Function
Sub test()
Dim i, D
For i = 1 To 28
D = DateSerial(2022, i, 0)
Debug.Print i, D, VorQuartal(D)
Next
End Sub
Die Funktion wird in Excel genau wie eine Excel-Formel verwendet, mit oder ohne Argument. Ohne Argument wird das heutige Datum verwendet.
=VorQuartal()
oder
=Vorquartal(A1)
VG
Yal
Anzeige
AW: VBA letzter Tag Vorquartal
10.03.2022 17:18:52
onur
Noch so´n Ding:

=DATUM(JAHR(A1);GANZZAHL((MONAT(A1)-1)/3)*3+1;0)

=MONATSENDE(A1;-REST(MONAT(A1)-1;3)-1)
10.03.2022 18:07:05
lupo1
AW: =MONATSENDE(A1;-REST(MONAT(A1)-1;3)-1)
11.03.2022 09:32:35
Addi
Vielen Dank zusammen, damit komme ich weiter!!
Viele Grüße
Addi
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Bestimmung des letzten Tages des Vorquartals in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um den letzten Tag des Vorquartals in Excel zu ermitteln, kannst du eine benutzerdefinierte Funktion (UDF) in VBA erstellen. Folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Menü auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Public Function VorQuartal(Optional ByVal Datum As Date) As Date
       If Datum = 0 Then Datum = Now
       VorQuartal = DateSerial(Year(Datum), (DatePart("q", Datum) * 3) - 2, 0)
    End Function
  4. Um die Funktion zu testen, kannst du den folgenden Code verwenden:

    Sub test()
       Dim i As Integer, D As Date
       For i = 1 To 28
           D = DateSerial(2022, i, 0)
           Debug.Print i, D, VorQuartal(D)
       Next
    End Sub
  5. Schließe den VBA-Editor und kehre zu deinem Arbeitsblatt zurück.

  6. Verwende die Funktion in einer Zelle, indem du =VorQuartal(A1) eingibst, wobei A1 das Datum enthält, für das du den letzten Tag des Vorquartals bestimmen möchtest.


Häufige Fehler und Lösungen

  • Fehler: „Der Wert ist ungültig.“

    • Lösung: Stelle sicher, dass das Datum korrekt eingegeben ist und das Format stimmt.
  • Fehler: „Funktion nicht definiert.“

    • Lösung: Überprüfe, ob das Modul korrekt erstellt wurde und der Code richtig eingefügt wurde.
  • Fehler: UDF gibt ein falsches Datum zurück.

    • Lösung: Achte darauf, dass du das aktuelle Datum oder ein korrektes Datum übergibst.

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du auch eine Excel-Formel nutzen, um das Quartalsende zu bestimmen. Hier ist eine mögliche Formel:

=DATUM(JAHR(A1);MONAT(A1)-REST(MONAT(A1)-1;3);0)

Diese Formel gibt das letzte Datum des Vorquartals basierend auf einem Datum in Zelle A1 zurück.


Praktische Beispiele

  1. Wenn du in Zelle A1 das Datum 10.03.2022 hast, und die Funktion =VorQuartal(A1) verwendest, erhältst du das Ergebnis 31.12.2021.
  2. Mit der Formel =DATUM(JAHR(A1);MONAT(A1)-REST(MONAT(A1)-1;3);0) erhältst du ebenfalls 31.12.2021.

Diese Methoden sind nützlich, um schnell das Quartalsende zu berechnen, ohne manuell nachzusehen.


Tipps für Profis

  • Nutze die VBA-Funktion in Kombination mit anderen Excel-Funktionen, um komplexere Berechnungen durchzuführen.
  • Erstelle eine Dropdown-Liste für die Datumsangaben, um die Eingabefehlerrate zu minimieren.
  • Dokumentiere deine VBA-Funktionen, damit du sie in Zukunft leichter wiederfindest und verwenden kannst.

FAQ: Häufige Fragen

1. Wie kann ich das Quartalsende für das aktuelle Datum bestimmen?
Du kannst einfach =VorQuartal() ohne Argument verwenden, um das Quartalsende für das heutige Datum zu erhalten.

2. Funktioniert diese Methode in allen Excel-Versionen?
Ja, die beschriebenen Methoden sind in den meisten modernen Excel-Versionen (Excel 2010 und später) anwendbar. Stelle sicher, dass du die VBA-Funktion korrekt einfügst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige