VBA - 1. Tag des Monats
#1
Guten Tag,

ich versuche grade mir den 1. Tag des Monats über VBA ausgeben zu lassen. Leider habe ich Probleme mit dem Bezug.

Code:
Tabelle2.Cells(x, 1).Value = DateSerial(Year("Text"), Month("Text"), 1)

Mein Datum, vom dem ich mir den 1. des Monats ausgeben lassen möchte steht in der gleichen Tabelle, in Spalte 4.
Wenn ich allerdings diese Spalte eingeben, damit er die For-Schleife durchläuft, erhalte ich einen Fehler.

Code:
Tabelle2.Cells(x, 1).Value = DateSerial(Year(Tabelle2.Cells(x, 4).Value), Month(Tabelle2.Cells(x, 4), 1)

Wie kann ich mich auf mein Datum beziehen?


Gruß
Top
#2
Hallo,

kommt halt darauf an, ob x, 4 ein Datum enthält.

Gruß Uwe
Top
#3
Sub Shorty(): [A1] = [1&-YEAR(40000)]: [A2] = [6&-2020]: [A3] = [1&-YEAR(NOW())]: End Sub
Wehrdienst für nach 31.12.2007 geborene Männer. Freiwilligkeit wird nicht ausreichen; also gibt es das Losverfahren mit daraus mehr als 50% Dienstverpflichteten. Herzlichen Glückwunsch. (Ich habe 15 Monate in der Lw gedient). Weiße Jahrgänge der Bw also ca. -1937 und 1994-2007. Alternativen wie Zivildienst/Verweigerung/Soziales Jahr noch nicht besprochen.
Top
#4
Hallo BMSOBoo,

macht es ggfs Sinn, das direkt im Blatt zu erledigen?
Ich hab's so verstanden, dass in X4 eine datumsformatierte Zahl steht
Code:
=MONATSENDE(X4;-1)+1

Das geht natürlich auch mit VBA:
Code:
Sub Monatsanfang()

Dim dtm As Date
Dim lng As Long

lng = WorksheetFunction.EoMonth(Range("X4"), -1) + 1
dtm = Format(lng, "dd.mm.yyyy")

Debug.Print dtm

End Sub
Gruß Ludwig
Top
#5
Welcher Fehler kommt denn?
Was steht in den Zellen der Spalte 4 genau drin und wie sind diese Zellen formatiert?
Gruß
Michael
Top


Gehe zu:


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