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
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
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.