Avatar billede Tjalde Novice
03. september 2019 - 10:16 Der er 7 kommentarer

Automatisk generering af datoer for 12 uger

Hej.

Jeg skal prøve at beskrive mit problem så godt som muligt. I arbejdsøjemed bruger vi en form for dagbog, som strækker sig over 12 uger. Én side svarer til én uge, hvor der er en tabel med ugedagene som rækker. Nedenunder hver dag kunne jeg godt tænke mig den konkrete dato.

Da jeg printer omkring 20 sæt dagbøger om året, som har forskellige start- og slutdatoer, vil jeg gerne kunne definere den første dato, og lade word definere alle de efterfølgende. Jeg printer dem ud i god tid før startdatoen, så jeg vil helst undgå at denne dato bliver "dags dato".

Er det muligt?
Avatar billede finb Ekspert
03. september 2019 - 10:44 #1
Overvej Outlook, der kan du nemt lave cyklus 12 uger.
-eller
-Overvej at lave det i Excel.
-eller
-Print først Word-filen,
og gen-print datoer ovenpå fra Excel.
Avatar billede Tjalde Novice
03. september 2019 - 10:52 #2
Jeg fik at skrevet, at formatet er en A5 folder, og der er en beskrivende tekst til at starte med.

Kan det stadig lade sig gøre i Outlook eller Excel?
Avatar billede finb Ekspert
03. september 2019 - 11:02 #3
Ja, men du kan også printe forside mm
ad flere omgange,
fx print først de faste punkter,
herefter gen-print de variable punkter.
Avatar billede Tjalde Novice
03. september 2019 - 11:08 #4
Okay, tak. Det vil kræve en del opsætning, men det kunne bestemt være en mulighed.
Avatar billede Lene Fredborg Ekspert
03. september 2019 - 13:46 #5
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-------------
Avatar billede Lene Fredborg Ekspert
03. september 2019 - 14:09 #6
Rettelse til min #5 ovenfor:
Der skulle selvfølgelig have stået "MAKRO SLUT" til sidst :-)
Avatar billede Tjalde Novice
03. september 2019 - 19:44 #7
Hold da op. Det var noget af en kode. Jeg prøver ad, tak :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Tag et kursus i Word og øg effektiviteten

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester