Avatar billede stry Nybegynder
08. maj 2008 - 11:20 Der er 8 kommentarer og
1 løsning

Find det aktuelle datointerval

Hej eksperter
Jeg ønsker via kode at finde det datointerval der aktuelt vises i min kalender.
Altså hvis jeg aktuelt kigger på uge 19 i arbejdsuge-view skal min kode returnere '5/5 - 9/5 2008'.

Nogen der kan klare den?

På forhånd tak.
Avatar billede stry Nybegynder
10. maj 2008 - 09:58 #1
Ingen med et bud??

Jeg prøver lige at hæve indsatsen til 60 p.
Avatar billede supertekst Ekspert
10. maj 2008 - 10:06 #2
Måske - hvor skal dato-intervallet placeres - kun vises?
Avatar billede stry Nybegynder
10. maj 2008 - 10:12 #3
Bare i en variabel.
Hvis du kan udarbejde et eksempel med en msgbox er det fint.
Avatar billede stry Nybegynder
10. maj 2008 - 16:55 #4
>>supertekst
Tror du du kan løse den?
Avatar billede supertekst Ekspert
11. maj 2008 - 00:39 #5
Skal forsøge...
Avatar billede supertekst Ekspert
12. maj 2008 - 15:42 #6
Det blev nu ikke i OutLook - men i et regneark (i første omgang):
Koden anbringes i Ark1
...................................................................

Option Explicit

Rem OVERSKRIFTER A1: UgeNr | B1 Fra | C1 Til
rem Indtast ugeNr i A2:

Dim ugensFørsteDag As Date
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$2" Then
        If Target.Value <> "" And IsNumeric(Target.Value) = True Then
            opsætArbejdsuge Target.Value
        End If
    End If
End Sub
Sub opsætArbejdsuge(uge)
    denFørsteDagDetteÅr uge

    With Worksheets("Ark1")
        .Range("B2").Value = ugensFørsteDag
        .Range("C2").Value = DateAdd("d", 4, ugensFørsteDag)
    End With
End Sub
Private Sub denFørsteDagDetteÅr(uge)
Dim dag1 As Date, denFørsteUgedag, ugeNr
    dag1 = "01-01-" & Year(Now)
    denFørsteUgedag = Format(dag1, "w", 2, 2)
    ugeNr = Format(dag1, "ww", 2, 2)
   
Rem ryk frem til uge 1 - hvis den 1. uge ikke er 1
    If ugeNr <> "1" Then
        While Format(dag1, "ww", 2, 2) <> "1"
            dag1 = DateAdd("d", 1, dag1)
        Wend
    Else
        If denFørsteUgedag <> 1 Then
            dag1 = DateAdd("d", (Val(denFørsteUgedag) - 1) * -1, dag1)
        End If
    End If
   
    If uge <> "1" Then
        dag1 = DateAdd("ww", Val(uge) - 1, dag1)
    End If
   
    ugensFørsteDag = dag1
End Sub
Avatar billede stry Nybegynder
20. maj 2008 - 08:42 #7
Hej Supertekst
Tak for indsatsen - jeg kan dog kun bruge en løsning som aflæser det aktuelle datointerval i outlookkalenderen og returnerer dette, som beskrevet i spørgsmålet.

Kan du klare den?
Avatar billede supertekst Ekspert
20. maj 2008 - 23:29 #8
Er det ved klik på en given dato i ugekalenderen?
Avatar billede stry Nybegynder
04. april 2009 - 14:20 #9
:-(
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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