Anzeige
Archiv - Navigation
1572to1576
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Feiertage in Msgbox

Feiertage in Msgbox
07.08.2017 02:06:34
Torsten
Ich wollte endlich mal eine Feiertagsübersicht bauen.
Der Nutzer whält ein Jahr aus und es werden die entsprechenden Feiertage angezeigt.
Soweit läuft es auch.
Jedoch bei "Abbrechen" oder einem leeren Eingabefeld gibt es einen Fehler.
Bei betätigen der "Abbruch"-Taste Exit sub
Bei leerem Feld msgbox " bitte geben sie eine Jahreszahl ein"
Mein Code:
Option Explicit
Private module
Public Function Feiertage(intYear As Integer) As Variant
Dim varDates(13, 1) As Variant
Dim dEaster As Date
dEaster = Easter(intYear)
MsgBox "Neujahr:  " & (DateSerial(intYear, 1, 1)) & vbNewLine & vbNewLine & _
"Hl. Drei Könige:  " & (DateSerial(intYear, 1, 6)) & vbNewLine & vbNewLine & _
"Karfreitag:  " & dEaster - 3 & vbNewLine & vbNewLine & _
"Ostersonntag:  " & dEaster & vbNewLine & vbNewLine & _
"Ostermontag:  " & dEaster + 1 & vbNewLine & vbNewLine & _
"Tag der Arbeit:  " & DateSerial(intYear, 5, 1) & vbNewLine & vbNewLine & _
"Christi Himmelfahrt:  " & dEaster + 39 & vbNewLine & vbNewLine & _
"Pfingstsamstag:  " & dEaster + 48 & vbNewLine & vbNewLine & _
"Pfingstsonntag:  " & dEaster + 49 & vbNewLine & vbNewLine & _
"Pfingstmontag:  " & dEaster + 50 & vbNewLine & vbNewLine & _
"Tag der deutschen Einheit:  " & DateSerial(intYear, 10, 3) & vbNewLine & vbNewLine & _
"Heiligabend:  " & DateSerial(intYear, 12, 24) & vbNewLine & vbNewLine & _
"1. Weihnachtstag:  " & DateSerial(intYear, 12, 25) & vbNewLine & vbNewLine & _
"2. Weihnachtstag:  " & DateSerial(intYear, 12, 26) & vbNewLine & vbNewLine & _
"Silvester:  " & DateSerial(intYear, 12, 31)
Feiertage = varDates
End Function
Private Function Easter(Year As Integer) As Date
Dim D As Integer
D = (((255 - 11 * (Year Mod 19)) - 21) Mod 30) + 21
Easter = DateSerial(Year, 3, 1) + D + (D > 48) + 6 - _
((Year + Year \ 4 + D + (D > 48) + 1) Mod 7)
End Function
Sub spring_zu_Feiertageneu()
Dim dummy As Variant
Dim Jahreszahl As Integer
Jahreszahl = InputBox("Für welches Jahr soll die Feiertagsübersicht erstellt werden?", , 2017)
If Jahreszahl 
was läuft hier falsch?
Wenn ich "Jahreszahl" anders Deklariere als "as long" geht es nicht

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Feiertage in Msgbox
07.08.2017 06:41:03
Oberschlumpf
Hi Torsten,
ich hab den Code so angepasst:

Sub spring_zu_Feiertageneu()
Dim dummy As Variant
Dim Jahreszahl As Integer, lstrEingabe As String
lstrEingabe = InputBox("Für welches Jahr soll die Feiertagsübersicht erstellt werden?", , 2017)
If lstrEingabe = "" Or _
Not IsNumeric(lstrEingabe) Then
MsgBox "keine oder falsche Eingabe. Der Code wird beendet"
Exit Sub
End If
Jahreszahl = CInt(lstrEingabe)
If Jahreszahl 

Ich verstehe nur nicht, wieso, bzw wozu du mehrdimensionale Arrays verwendest.
Hilft denn mein Code weiter?
Ciao
Thorsten
Anzeige
AW: Feiertage in Msgbox
07.08.2017 11:41:21
Torsten
Hey Thorsten,
das war es!
Dankeschön
Wenn gelöst, dann zu. o.w.T.
07.08.2017 11:42:50
Werner
AW: Feiertage in Msgbox. Datumsformat
07.08.2017 16:09:10
Dieter(Drummer)
Guten Tag Thorsten,
ich fand das Makro von Torsten einfach toll, über Msgbox die Feiertage zu zeigen.
Kannst du mir da helfen, wie das Makro lauten muss, damit von allen Feiertagen, das Datum jeweils im Format "ddd dd/mm/yyyy" angezeigt wird?
Wäre toll, wenn du mir da helfen kannst.
Gruß, Dieter(Drummer)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige