Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1532to1536
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

Format Monat und Feiertage

Format Monat und Feiertage
09.01.2017 15:14:27
Gregor
Hallo zusammen
Aus einem Code vom Forum habe ich folgenden Code erstellt.
Nun möchte ich die Monate ausschreiben. Mit
Cells(Start, x) = Format(Start, "00") & ". " & Format(x, "mmmm") & " " & Jahr & " " & Kürzel
erhalte ich immer den Januar. Welches Format muss ich sezten?
Kann dieser Code evt. vereinfacht werden?
Vielen Dank und Gruss
Gregor
Sub Jahr_erstellen() Application.ScreenUpdating = False Application.EnableEvents = False usrJahr.Show Wahl = False Range(Cells(1, 1), Cells(31, 12)).ClearContents Range(Cells(1, 1), Cells(31, 12)).ClearFormats For x = 1 To 12 AnzTage = DaysOfMonth(Jahr, x) For Start = 1 To AnzTage Kürzel = Format(Weekday(Start & "." & x & "." & Jahr, 1), "ddd") Wahl = Feiertag(Start & "." & x & "." & Jahr) If Wahl Then Cells(Start, x) = Format(Start, "00") & ". " & Format(x, "00") & " " & Jahr & " _ " & Kürzel & Text Cells(Start, x).Interior.ColorIndex = 7 ElseIf Kürzel = "So" Then Cells(Start, x) = Format(Start, "00") & ". " & Format(x, "00") & " " & Jahr & " _ " & Kürzel Cells(Start, x).Interior.ColorIndex = 22 ElseIf Kürzel = "Sa" Then Cells(Start, x) = Format(Start, "00") & ". " & Format(x, "00") & " " & Jahr & " _ " & Kürzel Cells(Start, x).Interior.ColorIndex = 17 Else Cells(Start, x) = Format(Start, "00") & ". " & Format(x, "00") & " " & Jahr & " _ " & Kürzel End If Next Next x Columns("A:L").AutoFit Unload usrJahr Application.ScreenUpdating = True Application.EnableEvents = True End Sub
Function DaysOfMonth(ByVal Year As Long, ByVal Month As Long) As Long
DaysOfMonth = Day(DateSerial(Jahr, x + 1, 0))
End Function

Function Feiertag(Dat As Date) As Boolean
Dim m As Integer, d As Integer, y As Integer
Dim ost As Date
Dim dd As Integer
m = x
d = Start
y = Jahr
dd = (((255 - 11 * (y Mod 19)) - 21) Mod 30) + 21
ost = DateSerial(y, 3, 1) + dd + (dd > 48) + _
6 - ((y + y \ 4 + dd + (dd > 48) + 1) Mod 7)
'bewegliche Feiertage
Select Case Dat
Case ost
Feiertag = True
Text = " Ostern"
Case ost + 1
Feiertag = True
Text = " Ostermontag"
Case ost - 2
Feiertag = True
Text = " Karfreitag"
Case ost + 39
Feiertag = True
Text = " Auffahrt"
Case ost + 50 - 1
Feiertag = True
Text = " Pfingsten"
Case ost + 50
Feiertag = True
Text = " Pfingstmontag"
Exit Function
End Select
'feste Feiertage:
If d = 1 And m = 1 Then
Feiertag = True
Text = " Neujahr"
ElseIf d = 2 And m = 1 Then
Feiertag = True
Text = " Berchtoldstag"
ElseIf d = 1 And m = 8 Then
Feiertag = True
Text = " 1. August"
ElseIf d = 25 And m = 12 Then
Feiertag = True
Text = " Weihnachten"
ElseIf d = 26 And m = 12 Then
Feiertag = True
Text = " Stephanstag"
End If
End Function

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Format Monat und Feiertage
09.01.2017 15:57:11
Michael
Hi,
kleine Buchstaben sind für Zeit ("m" = Minuten), große fürs Datum ("MMMM"=Monate).
Gruß,
Michael
AW: Format Monat und Feiertage
09.01.2017 16:03:33
Matthias
Hallo Gregor
Dir ist klar, das Du Text in die Zellen schreibst und kein Datum.
Es ist auch keine Jahr ersichtlich.
Tabelle1

 ABC
101. 01   Mi01. 02   Do01. 03   Fr
202. 01   Sa02. 02   So02. 03   Mo
303. 01   Di03. 02   Mi03. 03   Do
404. 01   Fr04. 02   Sa04. 03   So
505. 01   Mo05. 02   Di05. 03   Mi
606. 01   Do06. 02   Fr06. 03   Sa
707. 01   So07. 02   Mo07. 03   Di


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Die Anzeige der Tage ist mir etwas unverständlich, was auch daran liegen kann das ich es nicht komlett Testen kann.
usrJahr.Show ist ja im Code vorhanden, kann man ja eben nicht einfach so nachbauen.
Wie z.B die Variable Jahr gefüllt wird kann man auch nicht erkennen.
2014 war der "01.01." ein Mittwoch
Ich lass mal "offen"
Gruß Matthias
Anzeige
AW: Format Monat und Feiertage
09.01.2017 19:49:01
Matthias
Hallo
Probiers mal so ...
Cells(Start, x) = Format(DateSerial(Jahr, x, Start), "DDD DD/MMMM")
Gruß Matthias
AW: Format Monat und Feiertage
10.01.2017 08:29:12
Gregor
Hallo Matthias
Ja super, mit dieser Formatierung komme ich zum Ziel. Ich habe diese noch wie folgt geändert:
Cells(Start, x) = Format(DateSerial(Jahr, x, Start), "DD/ MMM YYYY DDD")
Damit erhalte ich genau das Ausgabeformat, das ich wünschte.
Du hast natürlich Recht, die UserForm hatte ich nicht reinkopiert, sorry. Die Abfrage Jahr ergibt aber genau das in der UF eingetragene Jahr
Private Sub cmdStarten_Click()
Jahr = Me.cboJahr.Value
Unload usrJahr
End Sub
Vielen Dank für deine Unterstützung.
Gruss Gregor
Anzeige
:-) Danke für Deine Rückmeldung ... owT
10.01.2017 10:52:56
Matthias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige