01. april 2011 - 15:24Der er
9 kommentarer og 1 løsning
Indsætte betalingdato; løbende måned + 10 dage
Er det muligt at få word til automatisk at generere en dato som er dags dato med løbende måned + 10 dage?
Pt. har jeg fundet frem til en macro som sætter datoen 10 dage frem, men ikke tager stilling til den løbende måned; svar = Date + 10 ActiveDocument.Bookmarks("forfald").Range.Text = svar
Jeg prøver lige med en bedre forklaring så vi er enige :-)
Datoen der skal indsættes skal tage udgang punkt i datoen som dokumentet bliver oprettet. Lad os sige denne dato er den 10-04-2011. Hertil skal der tillægges den resterne/løbende måned og oveni det ligges 10 dage mere. Så datoen som fremkommer skal blive 10-05-2011.
Så umeldbart vil jeg sige dit forslag nr. 2 er vejen frem?
Nej, det er mit eksempel 1 ;-) - eller ingen af dem:
I dit eksempel har du valgt den 10. som startdato, og i din første post skrev du, at det var 10 dage, der skulle lægges til ud over løbende måned. Ser du, jeg er stadig i tvivl, fordi slutdatoen i dit eksempel også er den 10., hvilket betyder, at der i dit eksempel er lagt præcis en måned til ;-)
Det lyder mest på din forklaring, som om betalingsdatoen altid være den 10. i den efterfølgende måned, og det er, hvad _eksempel 1_ i min første post laver. Prøv at læse hjælpen til DateSerial, så du kan se, hvordan den virker. Første parameter giver året, anden parameter måneden og tredje dagen. I eksempel 1 beholdes året, der lægges 1 til måneden, og dagen sættes til 10 (= 10. dag i måneden). DateSerial holder selv styr på, om året også skal skifte (vil her være tilfældet, hvis måneden er december, fordi næste måned så er januar i det følgende år).
Altså: Hvis datoen skal være den 10. i den efterfølgende måned (f.eks. 21-04-2011 > 10-05-2011, så brug eksempel 1 fra første post, nemlig:
Dim strDate As String strDate = DateSerial(Year(Date), Month(Date) + 1, 10)
Hvis der i stedet skal tillægges en måned (sådan som dit eksempel også kan læses - f.eks. 21-04-2011 > 21-05-2011), kan du måske bruge:
Dim strDate As String strDate = DateSerial(Year(Date), Month(Date) + 1, Day(Date))
Men måske den sidste variant ikke er præcis nok, som den er her. Der kan ske forskydning af dagen afhængigt af den aktuelle dato. Eksempel: hvis datoen er 31-01-2011, vil slutdatoen blive 03-03-2011, fordi februar i 2011 kun har 28 dage.
I princippet er start datoen hvor dokumentet bliver oprettet 100% ligemeget. Ligemeget hvilken dato det er skal der ligges den resteren/løbende måned til + 10 dage..
Har lige et spørgsmål mere faktisk. Så må vi se på point bag efter ;-) Er det muligt at indsætte en dato som automatisk er den sidste dato i måneden. Lige meget hvilken måned dokumentet bliver oprettet i?
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.