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

Forumthread: Makro für Datum und Kalenderwoche

Makro für Datum und Kalenderwoche
28.06.2005 14:02:38
Murat
Hallo allerseits,
ich möchte auf einem Arbeitsblatt in der Spalte A das Datum von 2004 fortlaufend bis 2010 stehen haben und in der Spalte B jeweils die passende Kalenderwoche zu jedem einzelnen Datum.
Ich habe folgendes Makro verwendet. Dieses Makro läuft aber nur ein Jahr (2005). Wie kann ich dieses Makro ergänzen, damit auch mehrere Jahre (von 2004 bis 2010) ausgegeben werden? Würde mich freuen, wenn mir jemand weiterhelfen kann.
Sub DatumUndKW()
Dim iCount As Integer, iCounter As Integer
If Month(DateSerial(Year(Date), 2, 29)) = 2 Then
iCount = 366
Else
iCount = 365
End If
For iCounter = 1 To iCount
Cells(iCounter, 1) = DateSerial(Year(Date), 1, iCounter)
Cells(iCounter, 2) = DINWeek(Cells(iCounter, 1))
Next iCounter
End Sub

Private Function DINWeek(dat As Date) As Integer
Dim dbl As Double
dbl = DateSerial(Year(dat + (8 - Weekday(dat)) Mod 7 - 3), 1, 1)
DINWeek = (dat - dbl - 3 + (Weekday(dbl) + 1) Mod 7) \ 7 + 1
End Function

Gruß
Murat
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Makro für Datum und Kalenderwoche
28.06.2005 14:12:41
Hajo_Zi
Hallo Murat

Option Explicit
Private Function DINWeek(dat As Date) As Integer
Dim dbl As Double
dbl = DateSerial(Year(dat + (8 - Weekday(dat)) Mod 7 - 3), 1, 1)
DINWeek = (dat - dbl - 3 + (Weekday(dbl) + 1) Mod 7) \ 7 + 1
End Function
Sub Datum()
Dim DaDatum As Date
Dim LoI As Integer
LoI = 1
DaDatum = "01.01.04"
Do
Cells(LoI, 1) = DaDatum
Cells(LoI, 2) = DINWeek(DaDatum)
DaDatum = DaDatum + 1
LoI = LoI + 1
If Year(DaDatum) = 2011 Then Exit Do
Loop
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem Windows 2000 SP4 und Excel Version 2000 SP3.


Anzeige
AW: Makro für Datum und Kalenderwoche
28.06.2005 14:15:40
Uduuh
Hallo,

Sub DatumUndKW()
Dim i As Long
For i = DateValue("1.1.2005") To DateValue("31.12.2010")
With Cells(i - DateValue("31.12.2004"), 1)
.Value = Format(i, "DD.MM.YYYY")
.Offset(0, 1) = dinweek(i)
End With
Next
End Sub

Gruß aus'm Pott
Udo
Anzeige
AW: Makro für Datum und Kalenderwoche
28.06.2005 14:17:56
Murat
Hallo Hajo
Danke, klappt echt super.
Gruß Murat
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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