Avatar billede jan Novice
03. januar 2008 - 23:07 Der er 8 kommentarer og
1 løsning

helligdage og markering i datoliste

Jeg bruger denne kode til opretttelse af kalender

    Dim qnske As Integer
    qnske = InputBox("Skriv ønsket antal kalenderdage")
    Dim antal As Integer
    antal = 10 + qnske
    Dim kalender As Variant
    kalender = "A10:A" & antal
    Dim ugedag As Variant
    ugedag = "B10:C" & antal
    Range(kalender).Select
    Selection.DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:= _
        xlDay, Step:=1, Trend:=False
    Range(ugedag).Select
    Selection.FillDown
    Range("d10").Select
   
End Sub

Jeg har været inde i flere spørgsmål om helligdage og hvordan man kan markerer disse med navn og i rødt, men jeg kan ikke få det til at fungerer i sammenhæng med ovennævnte. Hvordan gør jeg det.
Avatar billede panebb Novice
03. januar 2008 - 23:44 #1
Måske kan du hente inspiration her
http://www.eksperten.dk/spm/812674
Avatar billede jlemming Nybegynder
04. januar 2008 - 09:13 #2
Jeg kan ikke helt ser hvad du ønsker din kode skal gøre, kan du beskrive det lidt nærmere?
Avatar billede jan Novice
04. januar 2008 - 22:25 #3
Det er at helligdagene i den datoliste jeg laver bliver vist således at  datofeltet ( kolonne A) i stedet for at blive vist som f.ek.s 25-12-07 bliver vist som 1 juledag og i rødt
Avatar billede jlemming Nybegynder
05. januar 2008 - 10:34 #4
ja, men hvis kører din kode, kommer der ingen kalender
Avatar billede jan Novice
05. januar 2008 - 21:39 #5
Åhh ja, det er fordi jeg i A10 skriver startdato.
Avatar billede jlemming Nybegynder
07. januar 2008 - 10:49 #6
prøv dette:

Dim qnske As Integer
    qnske = InputBox("Skriv ønsket antal kalenderdage")
    Dim antal As Integer
    antal = 10 + qnske
    Dim kalender As Variant
    kalender = "A10:A" & antal
    Dim ugedag As Variant
    ugedag = "B10:C" & antal
    Range(kalender).Select
    Selection.DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:= _
        xlDay, Step:=1, Trend:=False
    Range(ugedag).Select
    Selection.FillDown
    Range("d10").Select
    For Each c In Range(kalender)
      c.Offset(0, 1).Value = HelligdagsNavn(c.Value)
      c.Offset(0, 1).Font.ColorIndex = 3
    Next c
   
End Sub
Function Påskedag(InputYear As Integer) As Long ' Returnerer datoen for Påskedag
Dim d As Integer
    d = (((255 - 11 * (InputYear Mod 19)) - 21) Mod 30) + 21
    Påskedag = DateSerial(InputYear, 3, 1) + d + (d > 48) + 6 - _
        ((InputYear + InputYear \ 4 + d + (d > 48) + 1) Mod 7)
End Function

Function HelligdagsNavn(lngdate As Long) As String
' bruger funktionen Påskedag
    Dim InputYear As Integer, PD As Long, OK As Boolean
    If lngdate <= 0 Then lngdate = Date
    InputYear = Year(lngdate)
    PD = Påskedag(InputYear)
      OK = True
    Select Case lngdate ' Tester nedenstående påstande mod datoen
        Case DateSerial(InputYear, 1, 1): HelligdagsNavn = "Nytårsdag"
        Case PD - 3: HelligdagsNavn = "Skærtorsdag"
        Case PD - 2: HelligdagsNavn = "Langfredag"
        Case PD: HelligdagsNavn = "Påskedag"
        Case PD + 1: HelligdagsNavn = "2. Påskedag"
        Case DateSerial(InputYear, 6, 5): HelligdagsNavn = "Grundlovsdag"
        Case PD + 26: HelligdagsNavn = "Store Bededag"
        Case PD + 39: HelligdagsNavn = "Kristi Himmelfartsdag"
        Case PD + 49: HelligdagsNavn = "Pinsedag"
        Case PD + 50: HelligdagsNavn = "2. Pinsedag"
        Case DateSerial(InputYear, 12, 24): HelligdagsNavn = "Julaftensdag"
        Case DateSerial(InputYear, 12, 25): HelligdagsNavn = "1.Juledag"
        Case DateSerial(InputYear, 12, 26): HelligdagsNavn = "2.Juledag"
        Case DateSerial(InputYear, 12, 31): HelligdagsNavn = "Nytårsaftensdag"
        Case Else
      End Select
        OK = False
End Function
Avatar billede jlemming Nybegynder
07. januar 2008 - 11:01 #7
en lille rettelse

    Range("d10").Select
    For Each c In Range(kalender)
      If HelligdagsNavn(c.Value) <> "" Then
        c.Offset(0, 1).Value = HelligdagsNavn(c.Value)
        c.Offset(0, 1).Font.ColorIndex = 3
      End If
    Next c
end sub
Avatar billede jan Novice
07. januar 2008 - 18:08 #8
så er der point igen - det virker som jeg gerne vil havde det
Avatar billede jlemming Nybegynder
07. januar 2008 - 18:14 #9
velbekomme :o)
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