Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1484to1488
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datumsreihe im Format "dd"

Datumsreihe im Format "dd"
09.04.2016 22:46:33
Rene
Hallo Excelfreunde,
ich versuche mich schon den ganzen Tag am folgenden Problem, komme aber nicht zum Ergebnis. Ich habe folgenden Code
Sub Datumzuweisen()
Dim Planungsjahr As Integer
Dim intTag As Integer
Planungsjahr = 2016
For intTag = 1 To Day(DateSerial(Planungsjahr, Month(Date) + 1, 0))
Cells(3, intTag + 4) = DateSerial(Planungsjahr, Month(Date), intTag)
Next intTag
End Sub

Mir soll also in der dritten Zeile, ab der Spalte 5, fortlaufend eine Datumsreihe eingetragen werden. Das funktioniert soweit guht. Allerdings möchte ich immer nur den Tag mit vorangestellter 0, also im Format "dd", angezeigt bekommen. Andere Formate funktionieren, aber "dd" will einfach nicht gehen. Hat jemand eine Lösung?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Wie wär's mit zusätzl Befehl ...
09.04.2016 23:41:28
Luc:-?
Cells(3, intTag + 4).NumberFormat = "dd" im Zyklus, Rene?!
Gruß, Luc :-?
Besser informiert mit …

AW: Wie wär's mit zusätzl Befehl ...
09.04.2016 23:56:15
Rene
Hallo Luc,
es funktioniert. Danke dir. Warum es jedoch nicht in einem Schritt geht, kann ich immernoch nicht nachvollziehen.
Besten Dank
René

Weil man nicht gleichzeitig einen Wert in ...
10.04.2016 01:50:57
Luc:-?
…eine Zelle eintragen und ihr ZahlenFormat festlegen kann, Rene;
das geht nur mit dem Einsatz der vbFkt Format in deinem ZuweisungsBefehl. Dann steht in der Zelle aber keine echte Zahl, schon gar nicht das volle Datum, sondern der Kalendertag als TextZahl. Wenn dir das egal ist, kannst du das ja machen:
Cells(3, intTag + 4) = Format(DateSerial(Planungsjahr, Month(Date), intTag), "dd")
Aber dann kannst du auch gleich intTag hinschreiben; das ist dann wenigstens eine echte Zahl, aber kein Datum.
Luc :-?

Anzeige
AW: Datumsreihe im Format "dd"
09.04.2016 23:56:23
Fennek
Hallo Rene,
versuche vor dem 'next' diese Zeile einzufügen

Cells(3, intTag +4).NumberFormat = "dd"
Mfg

AW: Datumsreihe im Format "dd"
09.04.2016 23:58:29
Rene
Hallo Fennek,
du hattest die gleiche Lösung wie Luc. Dennoch danke.

AW: Datumsreihe im Format "dd"
10.04.2016 12:21:35
Daniel
Hi
du musst für alle Zellen das Zahlenformat auf "dd" setzen.
das kannst du auch für alle Zellen gleichzeitig machen, das muss nicht in der Schleife erfolgen (grundsätzlich solle man versuchen, möglichst wenig mit Schleifen zu arbeiten)
For intTag = 1 To Day(DateSerial(Planungsjahr, Month(Date) + 1, 0))
Cells(3, intTag + 4) = DateSerial(Planungsjahr, Month(Date), intTag)
Next intTag
Cells(3, 5).Resize(1, intTag - 1).Numberformat = "DD"
ohne Schleife ließe sich das ganze programmeren, indem du "Ausfüllen-Reihe" verwendest:
Planungsjahr = 2016
With Cells(3, 5)
.Value = DateSerial(Planungsjahr, Month(Date), 1)
.NumberFormat = "DD"
.DataSeries _
Rowcol:=xlRows, _
Type:=xlChronological, _
Date:=xlDay, _
Step:=1, _
Stop:=WorksheetFunction.EoMonth(.Value, 0), _
Trend:=False
End With

Gruß Daniel

Anzeige
AW: Datumsreihe im Format "dd"
10.04.2016 15:08:17
René
Hallo Daniel, deine Methode gefällt mir sehr gut. Ich würde gern noch eins draufsetzen wollen.
In Spalte fünf soll er immer mit dem 01.01. des Planungsjahres beginnen. Danach sollen weitere Monatsanfänge an den Spalten 40, 75, 110 usw. folgen.
Also aller 35 Spalten der Folgemonat. Das ganze soll dann am 31.12. enden.
In der Zeile 2 darüber, soll noch zu jedem Tag der Wochentag im Format "ddd" ausgegeben werden. Samstage und Sonntag sollen Rot erscheinen.
Das sind gleich eine Reihe von Wünschen, aber bislang habe ich diese nur über Schleifen und den Tipps aus dem Forum umgesetzt. Deine With Anweisung ist jedoch um einiges schneller, so dass mich hier eine Lösung interessieren würde.

Anzeige
AW: Datumsreihe im Format "dd"
10.04.2016 15:44:24
Daniel
Hi
das dann so:
Sub test()
Dim Planungsjahr As Long
Planungsjahr = 2016
With Range("E2").Resize(2, 11 * 35 + 31)
.Formula = "=IF(MOD(COLUMN(),35)=5,DATE(" & Planungsjahr & ",(COLUMN()-5)/35+1,1),IF(RC[-1]= _
"""","""",IF(MONTH(RC[-1]+1)=MONTH(RC[-1]),RC[-1]+1,"""")))"
.Formula = .Value
.Rows(1).NumberFormat = "DDD"
.Rows(2).NumberFormat = "DD"
End With
End Sub
der Text für die Formel sieht so aus, bitte im Code ändern, da hier der Forumsedior an umpassender Stelle die Zeilenumbrüche einbaut:
.Formula = "=IF(MOD(COLUMN(),35)=5,DATE(" & Planungsjahr & ",(COLUMN()-5)/35+1,1),IF(RC[-1]="""","""",IF(MONTH(RC[-1]+1)=MONTH(RC[-1]),RC[-1]+1,"""")))"
die Färbung der Wochenenden machst du am besten über die Bedingte Formatierung mit der Regel:
=WochenTag(E2;2)>5
Gruß Daniel

Anzeige
AW: Datumsreihe im Format "dd"
10.04.2016 16:26:04
René
Hallo Daniel,
schon erstaunlich was Excel möglich macht, wenn der richtige Dirigent an den Tasten sitzt. Vielen Dank. Genau so habe ich es mir vorgestellt.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige