18. januar 2007 - 09:13Der er
3 kommentarer og 1 løsning
funktion omkring helligdage forsat
Jeg har fået god hjælp af excelent og kabbak 2 gange omkring optælling af helligdage,weekender og hverdage. Det har udløst en ide der vil kunne hjælpe meget hvis det kan lade sig gøre. Mit spørgsmål er følgende. Kan man lave det sådan at hvis man i en celle eks. skriver årstallet 2008 får man i celle 2 antal af hverdage,celler 3 antal af lørdage og celle 4 antal af søndage i eks. 2008.??? Kan man også ud fra samme årstal få en liste der viser om helligdagene er hverdage,lørdage eller søndage.?? MVH Petert
her er de makroer, som er lavet speciel til regnearket
Public Function DagtypeAntal(År As Long, Type_A_H_L_S As String) Dim I As Date, LO As Integer, SO As Integer, HV As Integer, AL As Integer AL = DateSerial(År + 1, 1, 1) - DateSerial(År, 1, 1) For I = DateSerial(År, 1, 1) To DateSerial(År, 12, 31) Select Case Weekday(I) Case 7: LO = LO + 1 Case 1: SO = SO + 1 Case Else HV = HV + 1 End Select Next
Select Case UCase(Type_A_H_L_S) Case "A": DagtypeAntal = AL Case "H": DagtypeAntal = AL - (LO + SO) Case "L": DagtypeAntal = LO Case "S": DagtypeAntal = SO End Select End Function
Public Function HverdagEllerHelligdag(År As Long, Helligdag As String) Dim I As Date For I = DateSerial(År, 1, 1) To DateSerial(År, 12, 31) If UCase(Helligdag) = UCase(Hellig(I)) Then If Weekday(I) = 1 Then HverdagEllerHelligdag = "Søndag" Exit For Else HverdagEllerHelligdag = "Hverdag" Exit For End If End If Next End Function Function Hellig(lngdate As Date) 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) Select Case lngdate ' Tester nedenstående påstande mod datoen Case DateSerial(InputYear, 1, 1): Hellig = "Nytårsdag" Case PD - 3: Hellig = "Skærtorsdag" Case PD - 2: Hellig = "Langfredag" Case PD: Hellig = "Påskedag" Case PD + 1: Hellig = "2.Påskedag" Case DateSerial(InputYear, 5, 1): Hellig = "1.Maj" Case DateSerial(InputYear, 6, 5): Hellig = "Grundlovsdag" Case PD + 26: Hellig = "Storebededag" Case PD + 39: Hellig = "Kristi Himmelfartsdag" Case PD + 49: Hellig = "Pinsedag" Case PD + 50: Hellig = "2.Pinsedag" Case DateSerial(InputYear, 12, 24): Hellig = "Juleaftensdag" Case DateSerial(InputYear, 12, 25): Hellig = "1.Juledag" Case DateSerial(InputYear, 12, 26): Hellig = "2.Juledag" Case DateSerial(InputYear, 12, 31): Hellig = "Nytårsaftensdag" Case Else End Select End Function
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.