Avatar billede simulu Juniormester
01. februar 2010 - 07:51 Der er 6 kommentarer

Markering af søn- og helligdage

Hej

Jeg har et regneark i Excel 2007, hvor der i kolonne B står en dato (1.-31.).

Vil det på en eller anden måde være muligt, at få excel til selv at markere cellen med en farve, så søn- og helligdage bliver markeret for en given måned??

Håber ovenstående er klart beskrevet.

Mvh Jan
01. februar 2010 - 08:00 #1
Hvis det står som en dato kan du bruge funktionen ugedag til at finde lørdag og søndag
http://office.microsoft.com/da-dk/excel/HP052093361030.aspx
Og dernæst betinget formatering til at sætte farvekode på.
Avatar billede vejmand Juniormester
01. februar 2010 - 08:25 #2
Betinget formatering -> Formlen er -> =ELLER(UGEDAG(A1)=1;UGEDAG(A1)=7)

Helligdage kan jeg ikke hjælpe med......
Avatar billede supertekst Ekspert
01. februar 2010 - 09:13 #3
Vedr. helligdage: spørgsmål # 894931
Avatar billede simulu Juniormester
06. februar 2010 - 17:45 #4
Hej igen

Jeg har nu rodet med ovenstående et stykke tid, og kan godt få arket til at markere søndag vha. f.eks. =ugedag(B15;2) - men jeg kan ikke få den til at markere helligdage. Nogen der har en idé? Synes ikke jeg kan finde noget fra andre spgm. i forumet.

I øvrigt - jeg har skrevet formlen ind i kolonne A, som så giver tallet fra 1-7, men det er her, jeg får farvet cellen vha. betinget formatiring. Men hvordan får jeg farvet cellen i kolonne B, hvor datoen står?

Og et ekstra spgm: Hvis jeg skriver 'januar' i celle A1 og '2010' i celle A2 - kan det så lade sig gøre, at arket selv skriver datoerne fra 1-31 i cellerne A9-A39? Og så dermed selv retter februar ind til f.eks. 28 dage, når det bliver skrevet i celle A1.

På forhånd tak. Mvh Jan
Avatar billede vejmand Juniormester
06. februar 2010 - 18:18 #5
Men hvordan får jeg farvet cellen i kolonne B, hvor datoen står?  ??????

Som skrevet i min første kommentar:
Betinget formatering -> Formlen er -> =ELLER(UGEDAG(A1)=1;UGEDAG(A1)=7)
Avatar billede simulu Juniormester
06. februar 2010 - 23:34 #6
Hej alle

Jeg har fundet en metode i den her, som jeg har fundet her på hj.siden:

Sub farvCeller()
For Each C In Range("a13:a43").Cells
If ErHelligdag(C.Value, 1, 1) Then
C.Interior.ColorIndex = 15
Else
C.Interior.ColorIndex = xlNone
End If
Next
End Sub

Function ErHelligdag(testDato As Long, ExclLørdage As Boolean, InclSøndage As Boolean) As Boolean
Dim InputYear As Integer, PD As Long, OK As Boolean
    If testDato <= 0 Then testDato = Date
    InputYear = Year(testDato)
    PD = Påskedag(InputYear)
    OK = True
    Select Case testDato
        Case DateSerial(InputYear, 1, 1) ' Nytårsdag
        Case PD - 7    ' Palmesøndag
        Case PD - 3    ' Skærtorsdag
        Case PD - 2    ' Langfredag
        Case PD        ' Påskedag
        Case PD + 1    ' 2. påskedag
        Case PD + 26    ' St. Bededag
        Case PD + 39    ' Kristi Himmelfartsdag
        Case PD + 49    ' Pinsedag
        Case PD + 50    ' 2. Pinsedag
        Case DateSerial(InputYear, 5, 1)  ' 1. maj
        Case DateSerial(InputYear, 6, 5)  ' 5. juni
        Case DateSerial(InputYear, 12, 24) ' Juleaftensdag
        Case DateSerial(InputYear, 12, 25) ' Juledag
        Case DateSerial(InputYear, 12, 26) ' 2. Juledag
        Case DateSerial(InputYear, 12, 31) ' Nytårsaftensdag
        Case Else
            OK = False
            If ExclLørdage Then
                If Weekday(testDato, vbMonday) = 6 Then
                    OK = Falsh
                End If
            End If
            If InclSøndage Then
                If Weekday(testDato, vbMonday) = 7 Then
                    OK = True
                End If
            End If
    End Select
    ErHelligdag = OK
End Function

Function Påskedag(InputYear As Integer) As Long
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

Private Sub Worksheet_Calculate()

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

--------

Mvh Jan
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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