VBA Uitleg
  • Home
  • Boeken
  • Vuistregels, fouten, sneltoetsen
  • Macrobeveiliging instellen
  • Datums van Feestdagen
  • EXCEL macro's
  • - Alle opmerkingen opmaken
  • - Unieke getallen
  • - Naar de cel met vandaag
  • - Gekleurde cellen optellen
  • - Functies ronde vormen
  • - Gratis downloads
  • - Engels
  • WORD macro's
  • - Woord tellen
  • - Dialoogvenster etiketten
  • - Automatisch zonder macro
  • Contact
  • - Wim is...
Home > Datums van feestdagen

Datums van feestdagen in een willekeurig jaar

Geef in een invoervenster een jaartal op (tussen 100 en 10.000) en een berichtvenster laat de feestdagen van dat jaar zien.

De volgende macrocode werkt zowel in Word als in Excel.
Open de Visual Basic Editor (sneltoets: Alt+F11), klik op Invoegen, Module; er opent een leeg codeblad. Kopieer onderstaande code van Sub tot en met End Sub, en plak die in de module.
​Als je deze macro uitvoert (sneltoets: F5), verschijnt er een venster. Voer daarin een jaartal in, klik op OK en een berichtvenster laat zien op welke 
datums de feestdagen in dat jaar vallen.

Sub Feestdagen()
Dim Pasen As Date, Ramadan As Date
    Jaar = InputBox("Vul een jaartal in." _
    & vbCrLf & vbCrLf & "Het huidige jaartal staat er al.", "Feestdagen", Year(Date))
    If Jaar = "" Then End

    a = DateSerial(Jaar, 4, 1) / 7
    If Jaar Mod 19 = 0 Then b = 19
    c = (Jaar Mod 19 + b) * 19 - 7
    d = (c Mod 30) / 7
    Pasen = Round(a + d, 0) * 7 - 6

    datum = Int((Jaar - 1900) * 354.367 + 1421.44)
    If Jaar < 1997 Then sprong = -366
    If Jaar > 2030 Then sprong = 365
    Ramadan = datum + sprong

MsgBox "Nieuwjaar" & vbTab & vbTab & Format(DateSerial(Jaar, 1, 1), "dddd d mmmm") & vbCrLf _
& "Carnaval" & vbTab & vbTab & Format(Pasen - 49, "dddd d mmmm") & vbCrLf _
& vbTab & vbTab & "tot " & Format(Pasen - 47, "dddd d mmmm") & vbCrLf _
& "Goede Vrijdag" & vbTab & Format(Pasen - 2, "dddd d mmmm") & vbCrLf _
& "Pasen" & vbTab & vbTab & Format(Pasen, "dddd d mmmm") & vbCrLf _
& vbTab & vbTab & Format(Pasen + 1, "dddd d mmmm") & vbCrLf _
& "Hemelvaart" & vbTab & Format(Pasen + 39, "dddd d mmmm") & vbCrLf _
& "Pinksteren" & vbTab & vbTab & Format(Pasen + 49, "dddd d mmmm") & vbCrLf _
& vbTab & vbTab & Format(Pasen + 50, "dddd d mmmm") & vbCrLf _
& "Kerst" & vbTab & vbTab & Format(DateSerial(Jaar, 12, 25), "dddd d mmmm") & vbCrLf _
& vbTab & vbTab & Format(DateSerial(Jaar, 12, 26), "dddd d mmmm") & vbCrLf _
& "Oudjaar" & vbTab & vbTab & Format(DateSerial(Jaar, 12, 31), "dddd d mmmm") & vbCrLf & vbCrLf _
& "Ramadan" & vbTab & vbTab & Format(Ramadan, "dddd d mmmm") & vbCrLf _
& "Suikerfeest" & vbTab & Format(Ramadan + 30, "dddd d mmmm") & vbCrLf _
& "Offerfeest" & vbTab & vbTab & Format(Ramadan + 98, "dddd d mmmm"), vbInformation, "Feestdagen in " & Jaar
End Sub
Foto
Vul een jaartal in en je krijgt de feestdagen in dat jaar op een rijtje.
Wim de Groot denkt buiten de hokjes
Auteursrecht    Disclaimer    Contact