Avatar billede dkmike Nybegynder
19. september 2007 - 15:21 Der er 8 kommentarer og
1 løsning

Konvertering af en given dato til et uge nr.

Hej Alle.

Jeg er i gang med at programmere et regneark hvor jeg, ved at indsætte en given dato, kan generere ugen og ligge 25 uger til.

Dvs. at når jeg skriver 19-09-2007 så skal den retunere uge 10 i 2008. Helst i formatet 10/2008. Fordi den tager den inderværende uge med når den ligger 25 til.

Ligeledes skal jeg kunne gøre det samme, hvis jeg vil ligge 10 uger til - f.eks.: 19-09-2007 > 47/2007

Jeg vil gerne ligge det i VBA'en og indtil videre har jeg anvendt følgende kode:

Function UgeNr(MyDate)
Dim Resten As Single
Resten = (MyDate - 2) Mod 7
UgeNr = Int((MyDate - DateSerial(Year(MyDate + 3 - Resten), 1, Resten - 9)) / 7)
End Function

Desværre kan den ikke skælne mellem årsskiftet hvis jeg addere 25 uger.

Er der nogle gode ideer?

Mvh
dkmike
Avatar billede kabbak Professor
19. september 2007 - 15:45 #1
Function UDFWeekNumISO(InputDate As Date)
    UDFWeekNumISO = DatePart("ww", InputDate, vbMonday, vbFirstFourDays)
End Function
Avatar billede dkmike Nybegynder
20. september 2007 - 08:20 #3
Hej Kabbak.

Tak for tippet, den side kendte jeg ikke. Men desværre hjælper det mig ikke, da jeg skal addere det retunerede ugenr. med, eks., 25 uger og det resultat skal jeg bruge i formatet 10/2008.

Hvis jeg kun addere med 10 uger skal den returnere 47/2007 som beskrevet i overstående spørgsmål.

Kan du hjælpe med dette?
Mev
dkmike
Avatar billede kabbak Professor
20. september 2007 - 09:41 #4
Prøv nu

Function UDFWeekNumISO(InputDate As Date, Uger As Double)
dato = DateAdd("ww", Uger, InputDate)
dato1 = DatePart("ww", DateAdd("ww", Uger, InputDate), vbMonday, vbFirstFourDays)
    UDFWeekNumISO = dato1 & "/" & Year(dato)
End Function
Avatar billede dkmike Nybegynder
20. september 2007 - 10:34 #5
Hvilken format skal jeg sætte uger ind? Jeg har prøvet med dato: 24-09-2008 og Uger: 10 men der returnerer den en "Error in formel"
Avatar billede kabbak Professor
20. september 2007 - 11:01 #6
Hvis du skriver direkte i formlen, skal du sætte datoen i ""
Hvis du i stedet peger på en celle med dato, er det nemmere
Avatar billede dkmike Nybegynder
20. september 2007 - 12:19 #7
Ja det forstod jeg, det er ikke noget problem med datoen. Det er uge formatet der giver mig problemer
Avatar billede dkmike Nybegynder
27. september 2007 - 12:29 #8
Hej kabbak.

Jeg har lavet en work-around til problemet, men du skal stadig have mange tak for hjælpen. Giver du lige et svar så jeg kan give dig dine point.
Avatar billede kabbak Professor
27. september 2007 - 12:29 #9
et svar ;-))
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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