Det du gör är att inte loopa endast aktuell månad utan du loopar datumet för första dagen i den första veckan i aktuell månad till sista dagen i sista veckan i aktuell månad.
Hängde du med?! :)
Du kan ta hjälp av dessa funktioner:
'Hämtar första dagen i vald vecka =========================================
Public Function getFirstweekday(ByVal Current_date)
If Len(Current_date) = 0 Or Not isDate(Current_date) Then Exit Function
getFirstweekday = Current_date - weekday(Current_date, 2)+1
End Function
'Hämtar sista dagen i vald vecka ==========================================
Public Function getLastweekday(ByVal Current_date)
If Len(Current_date) = 0 Or Not isDate(Current_date) Then Exit Function
getLastweekday = Dateadd("D", (7 - weekday(Current_date, 2)), Current_date)
End Function
'Hämtar första dagen i vald månad =========================================
Public Function getFirstmonthday(ByVal Current_date)
If Len(Current_date) = 0 Or Not isDate(Current_date) Then Exit Function
getFirstmonthday = Dateserial(Year(Current_date), Month(Current_date), 1)
End Function
'Hämtar sista dagen i vald månad ==========================================
Public Function getLastmonthday(ByVal Current_date)
If Len(Current_date) = 0 Or Not isDate(Current_date) Then Exit Function
getLastmonthday = Dateserial(Year(Current_date), Month(Current_date)+1, 1-1)
End Function
För att hitta startdatum och slutdatum för loopen:
dtmFirstDay = getFirstweekday(Date())
dtmLastDay = getLastweekday(getLastmonthday(Date()))
For dtm = dtmFirstDay To dtmLastDay
...
Next
Sen behöver du bara lista ut hur du färgmarkerar de olika dagarna! :)

