Avatar billede trexy Nybegynder
19. september 2002 - 17:39 Der er 16 kommentarer og
2 løsninger

Uge nummer

Hvordan laver jeg et script som viser ugenummeret, når man intaster en star og en slutdato?
Avatar billede jelzin101 Praktikant
19. september 2002 - 17:39 #1
mener du hvormange uger der er mellem de 2 datoer ?
Avatar billede trexy Nybegynder
19. september 2002 - 17:48 #2
jeg tror det var noget fis med en slutdato, jeg mente kun en startdato som fx. "25-4-2002"
Avatar billede jelzin101 Praktikant
19. september 2002 - 17:53 #3
dato = now()
ugenummer = Format(dato, "ww")
Avatar billede driis Nybegynder
19. september 2002 - 17:54 #4
Week = DatePart(DateInterval.WeekOfYear, Now)
Avatar billede driis Nybegynder
19. september 2002 - 17:55 #5
Eller
Week = DatePart("ww", Now)

Alt efter hvilken version af VB du bruger.
Avatar billede trexy Nybegynder
19. september 2002 - 18:07 #6
Det har jeg også gjort. Mit problem er at ugen er en uge bagud.
Når jeg skriver: 16-9-2002 viser den uge 37, men det er rigtig uge 38.
Avatar billede driis Nybegynder
19. september 2002 - 18:25 #7
Hmmm, mit system siger da uge 38 ? Mystisk.
Avatar billede trexy Nybegynder
19. september 2002 - 18:42 #8
Har løst problemet. Mit næste problem er: Sheets("Timeseddel (2)").Name = "Variablen UGENR" hvordan indsætter jeg variablen UGENR?
Avatar billede trexy Nybegynder
19. september 2002 - 18:59 #9
Skal bruge en startdato og en slutdato. Det skal vise de ugenummere som er mellem de 2 datoere, og bag efter skal der oprettes et regneark med ugenummeret som navn, så hvis der er 5 uger i den indtastede periode skal der oprettes 5 nye regneark.
Er der nogen der har en god ide?
Avatar billede terry Ekspert
20. september 2002 - 08:24 #10
use the datepart function for this. You have to tell VB that monday is th efirst day of the week or it uses Sunday, which is OK for USA :o)

datepart("ww", [DateField],vbMonday, vbFirstFourDays)
or
datepart("ww", [DateField],2, 2)
Avatar billede trexy Nybegynder
20. september 2002 - 09:12 #11
Problemet er, at jeg skal have antal uger fra en dato, til en anden dato.
Avatar billede terry Ekspert
20. september 2002 - 09:53 #12
datediff("ww", [StartDate],[EndDate]vbMonday, vbFirstFourDays)
Avatar billede trexy Nybegynder
20. september 2002 - 20:36 #13
Det virker fint, men er det mulig at angive en startdato og en slutdato også får vist de uger der er mellem datoerne som fx. fra 1-7-02 til 1-8-02 er der ugerne: 27-28-29-30-31.
Avatar billede driis Nybegynder
20. september 2002 - 22:24 #14
WeekS = DatePart("ww", StartDate)
        WeekE = DatePart("ww", EndDate)

        MsgBox("From week: " + CStr(WeekS) + " to week: " + CStr(WeekE) + vbCrLf _
          + "Total number of weeks: " + CStr(WeekE - WeekS + 1))
Avatar billede trexy Nybegynder
21. september 2002 - 10:46 #15
Er det også muligt at få vist de uger som er mellem start og slut ugerne?
Avatar billede driis Nybegynder
21. september 2002 - 12:15 #16
Dim StartDate As Date
        Dim EndDate As Date
        Dim WeekS As Integer
        Dim WeekE As Integer
        Dim WeekNo(53) As Boolean
        Dim WeekStr As String
        Dim I As Integer

        StartDate = "01.07.02"
        EndDate = "01.08.02"

        WeekS = DatePart("ww", StartDate)
        WeekE = DatePart("ww", EndDate)

        WeekStr = Nothing

        For I = WeekS To WeekE
            WeekNo(I) = True
            WeekStr = WeekStr + CStr(I) + ", "
        Next
        WeekStr = Left(WeekStr, Len(WeekStr) - 2)

        MsgBox("From week: " + CStr(WeekS) + " to week: " + CStr(WeekE) + vbCrLf _
          + "Total number of weeks: " + CStr(WeekE - WeekS + 1) + vbCrLf _
          + "These weeks are included: " + WeekStr)
Avatar billede driis Nybegynder
21. september 2002 - 12:19 #17
Denne funktion giver dig også hvilke uger, der er i mellem de 2 datoer. Den lægger dem både i en String, samt i et boolean array, som har samme antal elementer som maximum antal uger på et år. De ugenumre, som er med i perioden, bliver true i array'et, og resten af ugerne er false. Så hvis du f.eks. vil tjekke, om uge 29 er med, skriver du bare, f.eks.

If WeekNo(29) Then
    MsgBox "Uge 29 Er med !"
End If
Avatar billede trexy Nybegynder
21. september 2002 - 14:38 #18
I vores projekt skal man indtast en start og en slutdato, som så skal oprette det antal ark som der er uger, og hver ark skal have et ugenr (jeg bruger vb i excel)
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
Kurser inden for grundlæggende programmering

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