Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datunmsreihe

Forumthread: Datunmsreihe

Datunmsreihe
02.07.2024 12:27:15
Chris
Hallo zusammen,

mit untenstehendem Makro erzeuge ich eine Liste die mir alle Tage zwischen zwei Datumsangaben auflistet.
Ich möchte das Makro erweitern, so dass mir in der fortlaufenden Liste bsp. jeder Montag und jeder Donnerstag angezeigt wird.

Hat jmd eine konkrete Idee, wie man dies umsetzt?

Gruß
Chris



Sub Datumsreihe

With ActiveSheet
i = 2
.Range("A:A").Clear
.Range("A2").Value = Range("B1").Value
.Range("A" & i).DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:= _
xlDay, step:=1, Stop:=Range("B2").Value, Trend:=False
i = i + 1
End With
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datunmsreihe
02.07.2024 12:53:53
Onur
"Erweitern" kannst du diese Makro nur, indem du nach Erstellung der Datenreihe alle Zeilen, die weder Mo noch Do sind, wieder löschen lässt.
AW: Datunmsreihe
02.07.2024 14:27:24
Chris
Hallo Onur,

stimmt, gute Idee, Kann ich umsetzen. Danke. VG Chris
AW: Datumsreihe
02.07.2024 12:54:25
MCO
Hallo Chris!

Mit deinem Code konnte ich leider nicht viel anfangen, läuft nicht.

Dafür hab ich dir aber einen ganz neuen geschrieben, der macht was er soll.

Sub Datumsreihe()

Dim i As Long
Dim d As Long
i = 2

With ActiveSheet
.Range("A:A").Clear
For d = CLng(Range("B1")) To CLng(Range("B1")) + 150
If Weekday(d, vbMonday) = 1 Or Weekday(d, vbMonday) = 4 Then
.Cells(i, "A") = Format(CDate(d), "ddd dd.mm.yy")
i = i + 1
End If
Next d
End With
End Sub

Gruß, MCO
Anzeige
AW: Datumsreihe
02.07.2024 14:26:12
Chris
Halllo MCO,

vielen Dank für das Makro, es funktioniert sehr gut.

Auf dessen Grundlage habe ich eine w3eitere Idee, bleibt die Frage wie ich das umsetze.

Userform mit Anfangs- und Enddatum in Textbox.
Checkboxen für: MO DI MI DO FR SA SO.

Das Anfangs und Enddatum wird jeweils in eine Zelle übertragen.
Checkboxen. Wenn True, dann in Zelle C1 für Mo = 1, C2 = 2 für Di, C3 = 3 für Mi. usw.

Wenn ein oder mehrere Haken, sollen die entsprechenden Tage berechnet werden:

Aus meiner Sicht müsste diese Zeile geändert werden.
If Weekday(d, vbMonday) = 1 Or Weekday(d, vbMonday) = 4 Then


Eine Möglichkeit wäre: "Nimm alle Werte die in den Zellen C1 bis C7 stehen (also Montage bis Sonntag zw. 1-7) und liste die Tage auf. Ist eine Zelle leer, ingoriere dies."

Macht man das so?

Gruß
Chris
Anzeige
AW: Datumsreihe
02.07.2024 15:38:32
Chris
Noch offen
AW: Datumsreihe
02.07.2024 16:13:49
Onur
Du musst schon eine Schleife nehmen, wenn die Datenreihe plaziert wurde, denn Datenreihen sind keine Schleifen und deswegen geht es nicht in einem Aufwasch.
Also: Entweder Datenreihe plus Schleife oder aber nur eine Schleife, die vom Anfangsdatum bis Enddatum zählt und wenn weder Mo noch Do, das Datum einträgt und einen zweiten Zähler für die Zeilennummer um 1 erhöht.
Anzeige
AW: Datunmsreihe
02.07.2024 12:57:49
daniel
Hi
das kommt darauf an, was du konkret unter "soll angezeigt werden" verstehst.
der einfachste Weg wäre eine Farbliche Kennzeichnung über die Bedingte Formatierung mit der Formel als Regel =WochenTag(A1;2)=1
bzw =Wochentag(A1;2)=4.
das kannst du auch für die ganze Spalte so einrichten, dann musst du es nicht per Code machen.
allerdings solltest du dann die Inhalte mit Range("A:A").ClearContents löschen, damit die Formatierung erhalten bleibt.
Gruß Daniel
Anzeige
AW: Datunmsreihe
02.07.2024 14:28:09
Chris
Gute Idee, danke !
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige