Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wenn Monatsende in VBA
#1
Hallo!

Ich habe folgende Formel, welche ich gerne in VBA abgebildet haben will:

=wenn(MONATSENDE(HEUTE();0)-HEUTE()=0

Leider finde ich nirgendswo den VBA Code für Monatsende.

Ich hoffe, dass mir jemand helfen kann.
Excel Version 2016
Antworten Top
#2
Hallo,

da plädiere ich eher für das:

Code:
=Wenn(Monat(heute)<>Monat(heute()+1)


oder so:

https://www.ms-office-forum.net/forum/sh...p?p=561745

Google ist sehr hilfreich bei solchen Fragen!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
Danke sehr, ich habe es nun so gemacht:

Code:
Dim Tag
Dim Monat
Dim Jahr
Dim Monatsletzter
Dim aktuellerTag
Tag = Day(Now)
Monat = Month(Now)
Jahr = Year(Now)
Monatsletzter = Day(DateSerial(Jahr, Monat + 1, 0))
aktuellerTag = Day(Date)

If (Monatsletzter - aktuellerTag) = 0 Then
Excel Version 2016
Antworten Top
#4
Hi,

eigentlich sollte das reichen:

Code:
Dim loMletzt As Long
Dim loTag As Long
loTag = Date + 29
loMletzt = loTag - Day(loTag)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#5
Hallo,

wenn heute Monatsende ist. istmorgen der erste.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#6
Hallo Ego!

Was willst du jetzt mit deiner Feststellung aussagen? Ist irgendein Code falsch?
Excel Version 2016
Antworten Top
#7
Hallo,

nicht falsch, aber ein ganz klein wenig umständlich. 19

Code:
Sub aaa()
  If Day(Date + 1) = 1 Then
    MsgBox "Heute ist Monatsletzter."
  End If
End Sub

Gruß, Uwe
Antworten Top
#8
Hallo d...,

Wenn heute Monatsende ist, ist morgen der erste.

ist ein wenig kürzer als der Vorschlag, den ich von Edgars Vorschlägen verstanden habe (bzw. akzeptiere):

Wenn heute Monatsende ist, ist morgen ein anderer Monat.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#9
Code:
Sub M_snb()
  MsgBox DateSerial(Year(Date), Month(Date) + 1, 0)
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste