VBA Uitleg
  • Home
  • Boeken
  • Uitleg, fouten, sneltoetsen
  • 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 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 en plak die in de module. Als u deze macro uitvoert, verschijnt er een venster. Voer daarin een jaartal in. Klik op OK en u ziet een berichtvenster met
de feestdagen en de datums waarop ze 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 u krijgt de feestdagen in dat jaar op een rijtje.
Wim de Groot denkt buiten de hokjes
Auteursrecht    Disclaimer    Contact