Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Functie Betaalde feestdagen  (gelezen 1868 keer)

0 leden en 1 gast bekijken dit topic.

Offline Diezel

  • Oplosser
  • ****
  • Berichten: 508
  • Geslacht: Man
  • Meedenker - Initiatief nemen - Helpen oplossen...
Functie Betaalde feestdagen
« Gepost op: 27 januari 2016, 12:00:29 »
Hello oplossers,

Ik heb onderstaande Functie(betaalde feestdagen) geschreven. Mijn vraag: is die volgens de regels van de kunst geschreven en wat kan er nog beter om code te versnellen?

Heb de code getest en werkt in word, excel en acces.

Public Function BetaaldeFeestdag(Dag As Integer, Maand As Integer, Jaar As Integer) As String

Dim feestdagen(10) As Date
Dim benamingen(10) As String
Dim MijnDatum As Date
Dim mijnPaasdatum As Date
Dim I As Double
Dim J As Double

Dag = Dag
Maand = Maand
Jaar = Jaar
MijnDatum = DateSerial(Jaar, Maand, Dag)
mijnPaasdatum = MijnDatum

Call mijnPasen(mijnPaasdatum)

feestdagen(0) = DateSerial(Jaar, 1, 1) ' Nieuwjaarsdag
feestdagen(1) = DateSerial(Format(mijnPasen(mijnPaasdatum), "yyyy"), Format(mijnPasen(mijnPaasdatum) + 1, "mm"), Format(mijnPasen(mijnPaasdatum) + 1, "dd")) 'Paasmaandag var
feestdagen(2) = DateSerial(Jaar, 5, 1) 'Dag van de Arbeid
feestdagen(3) = DateSerial(Jaar, Format(mijnPasen(mijnPaasdatum) + 39, "mm"), Format(mijnPasen(mijnPaasdatum) + 39, "dd")) 'O.L.H Hemelvaart var
feestdagen(4) = DateSerial(Jaar, Format(mijnPasen(mijnPaasdatum) + 50, "mm"), Format(mijnPasen(mijnPaasdatum) + 50, "dd")) 'Pinkstermaandag var
feestdagen(5) = DateSerial(Jaar, 7, 11) 'Feest van de vlaamse gemeenschap
feestdagen(6) = DateSerial(Jaar, 7, 21) 'Nationale Feestdag
feestdagen(7) = DateSerial(Jaar, 8, 15) 'O.L.V Hemelvaart
feestdagen(8) = DateSerial(Jaar, 11, 1) 'Allerheiligen
feestdagen(9) = DateSerial(Jaar, 11, 11) 'Wapenstilstand
feestdagen(10) = DateSerial(Jaar, 12, 25) 'Kerstmis

benamingen(0) = "Nieuwjaarsdag*"
benamingen(1) = "Paasmaandag*"
benamingen(2) = "Dag van de arbeid*"
benamingen(3) = "O.L.H Hemelvaartsdag*"
benamingen(4) = "Pinkstermaandag*"
benamingen(5) = "Feest van de vlaamse gemeenschap"
benamingen(6) = "Nationale Feestdag*"
benamingen(7) = "O.L.V Hemelvaart*"
benamingen(8) = "Allerheiligen*"
benamingen(9) = "Wapenstilstand(W.O 1 '14/'18*)"
benamingen(10) = "Kerstmis*"

'for.....next

For I = MijnDatum To MijnDatum Step 1

mijnPaasdatum = mijnPasen(CDate(I))

For J = 0 To 10 Step 1

'If Format(CDate(I), "dd/mm") = feestdagen(J) Then
If I = feestdagen(J) Then


BetaaldeFeestdag = benamingen(J)

End If

Next J
Next I

End Function

OS: Windows 10 Home - 64 bit
Processor:  Intel(R) Core(TM) I7 - 4770 CPU 3,40 GHZ
SSD - RAM: 500 GB, 16 GB
SOFTWAREPAKKET: Office 2007

 


www.combell.com