| VBA-Beispiel 057 | |
|
|
|
per VBA einen Jahreskalender erstellen |
|
| Erstellt vom aktuellen Jahr einen Jahreskalender. Für jeden Monat wird ein neues Tabellenblatt angelegt. Wochenendtage werden farblich hervorgehoben. | |
|
Sub Jahreskalender_anlegen() 'legt für das aktuelle Jahr einen Kalender an Dim Jahr As String Dim Monat As Integer, Tag As Integer, AnzTage As Integer Dim d As Date On Error GoTo Fehler Jahr = Year(Date) For Monat = 1 To 12 'Anzahl Tage des Monats AnzTage = DateSerial(Year(Now), Monat + 1, 1) _ - DateSerial(Year(Now), Monat, 1) 'neuen Monat anlegen Worksheets.Add After:=Worksheets(Worksheets.Count) With ActiveSheet .Name = Format(DateSerial(1, Monat, 1), "mmm") End With Range("A1:AH2").Interior.ColorIndex = 35 Range("D1:AH1").NumberFormat = "d" Range("D1:AH2").HorizontalAlignment = xlCenter Range("D2:AH2").NumberFormat = "ddd" For Tag = 1 To AnzTage With Cells(1, Tag + 3) d = DateSerial(Jahr, Monat, Tag) .Value = d 'prüfen ob Sa / So wenn ja Hintergrundfarbe grün If Weekday(d) = 1 Or Weekday(d) = 7 Then Range(Cells(3, Tag + 3), (Cells(40, Tag + 3))).Interior.ColorIndex = 35 End If Cells(2, Tag + 3) = d End With Next Tag Columns("D:AH").ColumnWidth = 3 Cells(3, 1).Activate Cells(1, 1) = "Name" Cells(1, 2) = "Vorname" Cells(1, 3) = "geb" Next Monat Exit Sub Fehler: MsgBox "FehlerNr.: " & Err.Number & vbNewLine & vbNewLine _ & "Beschreibung: " & Err.Description _ , vbCritical, "Fehler" End Sub |
|
|
Download: vba057.zip |
|
|
relevante Links: |
|
| |