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

Forumthread: letzten Tag eines Monats per VBA

letzten Tag eines Monats per VBA
Stefan
Hallo,
ich habe folgendes Problem. Ich laufe durch eine Tabelle und lese jeweils immer das Datum ein. Die Tabelle läuft vom ersten des Monats bis zum letzten Tag des Monats. Allerdings weiss ich Anfangs nicht, um welchen Monat es sich handelt.
Nun würde ich gerne abrfragen, ob der aktuelle Tag der letzte Tag des Monats ist.
Wenn ich den Monat habe, wie bekomme ich dann raus, wieviele Tage er hat, bzw. noch besser direkt den letzten Tag des Monats. (Wegen der Schaltjahre wollte ich das nicht selber als Array anlegen)
Stefan
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: letzten Tag eines Monats per VBA
Boris
Hi Stefan,
Option Explicit

Sub letzter_tag_im_monat()
Dim D As Date
Dim lastDay As Byte
D = "01.02.2004"
lastDay = Day(DateSerial(Year(D), Month(D) + 1, 0))
MsgBox lastDay
End Sub

Grüße Boris
AW: letzten Tag eines Monats per VBA
Stefan
Super - danke euch beiden.
Stefan
AW: letzten Tag eines Monats per VBA
01.04.2004 12:05:42
Matthias
Hallo Stefan,
schau z.B. hier:
https://www.herber.de/forum/archiv/200to204/t201834.htm
(Gefunden mit Google, Suchbegriff: tage im monat site:www.herber.de
Gruß Matthias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Letzten Tag eines Monats mit VBA ermitteln


Schritt-für-Schritt-Anleitung

Um den letzten Tag eines Monats in Excel VBA zu ermitteln, kannst du die folgende Funktion nutzen. Diese Methode verwendet die DateSerial-Funktion, um den letzten Tag des Monats zu berechnen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code ein:
Sub letzter_tag_im_monat()
    Dim D As Date
    Dim lastDay As Byte
    D = "01.02.2004" ' Beispiel: Erster Tag des Monats
    lastDay = Day(DateSerial(Year(D), Month(D) + 1, 0)) ' Ermitteln des letzten Tages
    MsgBox lastDay ' Ausgabe des letzten Tages
End Sub
  1. Ändere das Datum in der Variable D, um das gewünschte Datum zu testen.
  2. Führe den Code aus, um den letzten Tag des Monats anzuzeigen.

Häufige Fehler und Lösungen

  • Problem: Fehlermeldung beim Ausführen des Codes.

    • Lösung: Stelle sicher, dass du das Datum im richtigen Format eingibst (z.B. "01.02.2004" für den 1. Februar 2004).
  • Problem: Der letzte Tag des Monats wird nicht korrekt angezeigt.

    • Lösung: Überprüfe, ob das Datum in der Variable D gültig ist und ob der Monat korrekt ist.

Alternative Methoden

Eine alternative Methode, um den letzten Tag des Monats zu ermitteln, ist die Verwendung der EOMONTH-Funktion in Excel:

=EOMONTH(A1, 0)

Hierbei gibt A1 das Datum an, für das du den letzten Tag des Monats wissen möchtest. Diese Methode ist besonders nützlich, wenn du in einer Excel-Tabelle arbeitest, anstatt mit VBA.


Praktische Beispiele

  • Beispiel 1: Um den letzten Tag des aktuellen Monats zu ermitteln:

    Sub letzter_tag_aktueller_monat()
    Dim lastDay As Date
    lastDay = DateSerial(Year(Date), Month(Date) + 1, 0)
    MsgBox lastDay
    End Sub
  • Beispiel 2: Um den letzten Tag eines beliebigen Monats zu ermitteln:

    Sub letzter_tag_beliebiger_monat()
    Dim lastDay As Date
    Dim month As Integer
    month = 2 ' Februar
    lastDay = DateSerial(Year(Date), month + 1, 0)
    MsgBox lastDay
    End Sub

Tipps für Profis

  • Nutze die Application.Evaluate-Methode, um Excel-Funktionen wie EOMONTH direkt in VBA zu verwenden.
  • Speichere häufig verwendete Funktionen zur Ermittlung des letzten Tags des Monats in einem separaten Modul, um deinen Code übersichtlich zu halten.
  • Teste deinen Code gründlich mit verschiedenen Monaten, einschließlich Schaltjahren, um sicherzustellen, dass er korrekt funktioniert.

FAQ: Häufige Fragen

1. Wie kann ich den letzten Tag des Monats für das aktuelle Datum ermitteln?
Du kannst die Date-Funktion verwenden, zusammen mit DateSerial, um den letzten Tag des aktuellen Monats zu berechnen.

2. Was ist der Unterschied zwischen EOMONTH und DateSerial?
EOMONTH ist eine Excel-Funktion, die direkt in Zellen verwendet wird, während DateSerial eine VBA-Funktion ist, die in Skripten verwendet wird, um Datumswerte zu erstellen und zu manipulieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige