Det kan godt lade sig gøre at lave feltkonstruktioner i Word, som kan beregne datoerne, men hver enkelt feltkonstruktion vil være ret lang og indviklet.
Jeg har lavet en makro til dig, som du kan bruge. Ved hjælp af makroen kan du indsætte alle datoer på et øjeblik. Makroen skal muligvis tilpasses, men den forudsætter:
1. Dit dokument har 12 tabeller.
2. Hver tabel har 7 rækker, en pr. dag i en uge.
3. Ugedag + dato skal stå i første celle i hver række. Hvis der f.eks. er en række som overskrift, skal der ændres i en linje i makroen, så den tæller rækker fra 2 til 8 i stedet for 1 til 7. Hvis der skal være et andet datoformat, skal der også ændres i makroen.
Sådan virker makroen:
Makroen viser en dialogboks, hvor du skal indtaste startdatoen (der er ikke lavet fejlhåndtering – du skal selv sørge for at skrive korrekt).
Når du klikker OK i dialogboksen, bliver ugedag + dato beregnet ud fra startdatoen og indsat i de 12 tabeller.
Eksempel på, hvad der indsættes i cellerne vha. makroen:
søndag
15-09-2019
mandag
16-09-2019
tirsdag
17-09-2019
Hvis du har brug for hjælp til at installere en makro, se denne artikel (engelsk):
https://wordmvp.com/FAQs/MacrosVBA/CreateAMacro.htm-----------MAKRO START-------------
Sub CreateDates_12Weeks_1TablePerWeek_InsertInCell1InEachRow()
'Created by Lene Fredborg,
www.thedoctools.com, 3-Sep-2019
Dim lngTable As Long
Dim lngRow As Long
Dim strDate As String
Dim strNextDate As String
Dim lngDateDiff As Long
Dim lngDaysToAdd As Long
strDate = InputBox("Indtast første dato i format dd-mm-yyyy (eksempler: 15-09-2019, 03-12-2019):")
'first date to insert
strNextDate = strDate
'calculate number of days between strDate and today's date - used to calcutate other dates below
lngDateDiff = DateDiff("D", Now, strDate)
'number of days until day before first date
lngDaysToAdd = lngDateDiff - 1
With ActiveDocument
For lngTable = 1 To 12
For lngRow = 1 To 7
'calculate number of days to add
lngDaysToAdd = lngDaysToAdd + 1
strNextDate = Format(Now + lngDaysToAdd, "DD-MM-YYYY")
'insert calculated date as name of day + date in cell 1 in lngrow
.Tables(lngTable).Cell(lngRow, 1).Range.Text = Format(strNextDate, "DDDD") & vbCr & Format(strNextDate)
Next lngRow
Next lngTable
End With
MsgBox "Færdig med at indsætte datoer i 12 tabeller."
End Sub
-----------MAKRO START-------------