Dynamische Kalender

Georgyboy

Gebruiker
Lid geworden
6 jan 2007
Berichten
967
Besturingssysteem
Windows 11
Office versie
365
Vrolijk kerst en fijn eindejaar voor ieder!

Probeer een Dynamische kalender te maken te beginnen met de maand Januari.
In Cel A3 staat het jaar.
De dynamische jaren staan van 2023 tot 2027.
1/01/2024 begint correct in cel C6, Foor de andere jaren loopt het fout.
Wat doe ik mis?
Is dit mogelijk Om de code ook te maken voor een volledige jaarkalender?
Alvast bedankt!
 

Bijlagen

Dankjewel!
Handige Kalender.
Mag ik vragen wat er fout is in onderstaande code, bij wijze van leren uit mijn fouten?

Sub VulKalenderMetDagen1611()
Dim Jaar As Integer
Dim Maand As Integer
Dim StartDatum As Date
Dim Cel As Range
Dim i As Integer
Dim Formule As String
Dim EersteDag As Integer
Dim HuidigeDatum As Date

Jaar = Range("A3").Value
Maand = 1 ' Januari

' Bereken de eerste dag van de maand
EersteDag = Weekday(DateSerial(Jaar, Maand, 1), vbMonday)

' Vul de dagen van de week in
Range("C5").Value = "Ma"
Range("D5").Value = "Di"
Range("E5").Value = "Wo"
Range("F5").Value = "Do"
Range("G5").Value = "Vr"
Range("H5").Value = "Za"
Range("I5").Value = "Zo"

' Vul de kalender met dynamische formules
For i = 0 To 41 ' 6 weken, 7 dagen per week
' Bereken de celpositie voor de huidige datum
Set Cel = Range("C6").Offset(Int((i + EersteDag - 1) / 7), (i + EersteDag - 1) Mod 7)
HuidigeDatum = DateSerial(Jaar, Maand, 1) + i - (EersteDag - 1)
If Month(HuidigeDatum) = Maand Then
Formule = "=IF(AND(YEAR(DATE($A$3," & Maand & "," & Day(HuidigeDatum) & "))=$A$3,MONTH(DATE($A$3," & Maand & "," & Day(HuidigeDatum) & "))=" & Maand & "),DATE($A$3," & Maand & "," & Day(HuidigeDatum) & "),"""")"
Cel.Formula = Formule
Else
Cel.Value = ""
End If
Next i
End Sub

Alvast bedankt,
Groeten Georgyboy
 
Je hebt hiervoor geen VBA nodig. Hiervoor is Excel zelf handiger.
En je hebt daarvoor al veel formules in het werkblad staan.
De dagaanduiding in iedere cel lijkt me overbodig als je de dagaanduiding in de kop hebt staan
 

Bijlagen

Dankjewel snb,
Zou Februari wat extra aanpassing vergen?
Voor Februari heb ik deze =DATUM($A$3;2;1)-WEEKDAG(DATUM($A$3;2;1);2)+1
maar begint met 26/01
bij wijzigen laatste getal +1 naar +4 of anders is het ook niet juist.
Dank voor de aanzet!
 
Als de maandag in kolom C moet komen komt in kolom C altijd een maandag te staan.:

Kijk eens in je agenda op welke datum de maandag is in de week waarin1 februari valt.
 
andere formule, maar in essentie hetzelfde, kiest de 1e maandag voor de 2e van de maand en de bestaande VO verbergt die dagen die niet in je maand vallen
 

Bijlagen

Terug
Bovenaan Onderaan