*

Help!

Problemen met uw pc? De vrijwilligers van oplossing.be zoeken gratis met u mee! 8)

Meer weten over Oplossing.be?

Hoe stel ik een vraag?

Recent

Auteur Topic: Functie Betaalde feestdagen  (gelezen 679 keer)

Offline Diezel

  • Ervaren lid
  • ***
  • Berichten: 458
  • Geslacht: Man
  • Ik zoek hier een integrale oplossing ...En Jij?
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

« Laatst bewerkt op: 27 januari 2016, 12:15:51 door Diezel »
PC: Intel I7 - Desktop board DB85FL
OS: Windows 8 - 64 bit
Processor:  Quad Core 2,6 Ghz
HDD en Ram: 1 TB HDD, 8 GB RAM
SOFTWARE: Ms Office 2003 SP3  And File format convertor office 2007
Ms Acces fans: bijlagen databases liefst in .mdb

 


www.combell.com