Wie erstelle ich einen Monats- / Jahreskalender in Excel?
In einiger Zeit müssen Sie einen bestimmten Monats- oder Jahreskalender in Excel erstellen. Wie können Sie diesen schnell lösen? In diesem Tutorial werden die Tricks vorgestellt, mit denen Sie schnell einen Monats- oder Jahreskalender in Excel erstellen können.
Erstellen Sie einen Monats- oder Jahreskalender mit einer Excel-Vorlage
Erstellen Sie einen Monatskalender von VBA
Erstellen Sie ganz einfach einen Monats- oder Jahreskalender mit Perpetual Calendar
Erstellen Sie einen Monats- oder Jahreskalender mit einer Excel-Vorlage
In Excel können Sie mithilfe einer Kalendervorlage einen Monats- oder Jahreskalender erstellen.
1. Klicken Sie in Excel 2010/2013 auf Reichen Sie das > NeuKlicken Sie in Excel 2007 auf Office-Schaltfläche > NeuGeben Sie dann im rechten Bereich des Popup-Fensters ein Kalender in die Suchmaschine. Siehe Screenshot:
In Excel2010/2013
In Excel 2007
2. Drücken Sie EnterDann werden mehrere Arten von Kalendern im Fenster aufgelistet. Wählen Sie einen Kalendertyp aus, den Sie benötigen, und klicken Sie auf Herunterladen (oder erstellen) im rechten Bereich. Siehe Screenshot:
Jetzt wird ein Kalender in einer neuen Arbeitsmappe erstellt. Siehe Screenshot:
Erstellen Sie einen Monatskalender von VBA
Manchmal müssen Sie einen Einmonatskalender für einen bestimmten Monat erstellen, z. B. Januar 2015. Es kann schwierig sein, eine solche Kalendervorlage mit der oben beschriebenen Methode zu finden. Hier stelle ich einen VBA-Code vor, mit dem Sie einen bestimmten Monatskalender erstellen können.
1. Drücken Sie Alt + F11 Schlüssel zum Öffnen Microsoft Visual Basic für Applikationen Klicken Sie im Fenster Insert > ModulKopieren Sie dann den folgenden VBA-Code und fügen Sie ihn in das Fenster ein.
VBA: Monatskalender erstellen.
Sub CalendarMaker()
' Unprotect sheet if had previous calendar to prevent error.
ActiveSheet.Protect DrawingObjects:=False, Contents:=False, _
Scenarios:=False
' Prevent screen flashing while drawing calendar.
Application.ScreenUpdating = False
' Set up error trapping.
On Error GoTo MyErrorTrap
' Clear area a1:g14 including any previous calendar.
Range("a1:g14").Clear
' Use InputBox to get desired month and year and set variable
' MyInput.
MyInput = InputBox("Type in Month and year for Calendar ")
' Allow user to end macro with Cancel in InputBox.
If MyInput = "" Then Exit Sub
' Get the date value of the beginning of inputted month.
StartDay = DateValue(MyInput)
' Check if valid date but not the first of the month
' -- if so, reset StartDay to first day of month.
If Day(StartDay) <> 1 Then
StartDay = DateValue(Month(StartDay) & "/1/" & _
Year(StartDay))
End If
' Prepare cell for Month and Year as fully spelled out.
Range("a1").NumberFormat = "mmmm yyyy"
' Center the Month and Year label across a1:g1 with appropriate
' size, height and bolding.
With Range("a1:g1")
.HorizontalAlignment = xlCenterAcrossSelection
.VerticalAlignment = xlCenter
.Font.Size = 18
.Font.Bold = True
.RowHeight = 35
End With
' Prepare a2:g2 for day of week labels with centering, size,
' height and bolding.
With Range("a2:g2")
.ColumnWidth = 11
.VerticalAlignment = xlCenter
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Orientation = xlHorizontal
.Font.Size = 12
.Font.Bold = True
.RowHeight = 20
End With
' Put days of week in a2:g2.
Range("a2") = "Sunday"
Range("b2") = "Monday"
Range("c2") = "Tuesday"
Range("d2") = "Wednesday"
Range("e2") = "Thursday"
Range("f2") = "Friday"
Range("g2") = "Saturday"
' Prepare a3:g7 for dates with left/top alignment, size, height
' and bolding.
With Range("a3:g8")
.HorizontalAlignment = xlRight
.VerticalAlignment = xlTop
.Font.Size = 18
.Font.Bold = True
.RowHeight = 21
End With
' Put inputted month and year fully spelling out into "a1".
Range("a1").Value = Application.Text(MyInput, "mmmm yyyy")
' Set variable and get which day of the week the month starts.
DayofWeek = WeekDay(StartDay)
' Set variables to identify the year and month as separate
' variables.
CurYear = Year(StartDay)
CurMonth = Month(StartDay)
' Set variable and calculate the first day of the next month.
FinalDay = DateSerial(CurYear, CurMonth + 1, 1)
' Place a "1" in cell position of the first day of the chosen
' month based on DayofWeek.
Select Case DayofWeek
Case 1
Range("a3").Value = 1
Case 2
Range("b3").Value = 1
Case 3
Range("c3").Value = 1
Case 4
Range("d3").Value = 1
Case 5
Range("e3").Value = 1
Case 6
Range("f3").Value = 1
Case 7
Range("g3").Value = 1
End Select
' Loop through range a3:g8 incrementing each cell after the "1"
' cell.
For Each cell In Range("a3:g8")
RowCell = cell.Row
ColCell = cell.Column
' Do if "1" is in first column.
If cell.Column = 1 And cell.Row = 3 Then
' Do if current cell is not in 1st column.
ElseIf cell.Column <> 1 Then
If cell.Offset(0, -1).Value >= 1 Then
cell.Value = cell.Offset(0, -1).Value + 1
' Stop when the last day of the month has been
' entered.
If cell.Value > (FinalDay - StartDay) Then
cell.Value = ""
' Exit loop when calendar has correct number of
' days shown.
Exit For
End If
End If
' Do only if current cell is not in Row 3 and is in Column 1.
ElseIf cell.Row > 3 And cell.Column = 1 Then
cell.Value = cell.Offset(-1, 6).Value + 1
' Stop when the last day of the month has been entered.
If cell.Value > (FinalDay - StartDay) Then
cell.Value = ""
' Exit loop when calendar has correct number of days
' shown.
Exit For
End If
End If
Next
' Create Entry cells, format them centered, wrap text, and border
' around days.
For x = 0 To 5
Range("A4").Offset(x * 2, 0).EntireRow.Insert
With Range("A4:G4").Offset(x * 2, 0)
.RowHeight = 65
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlTop
.WrapText = True
.Font.Size = 10
.Font.Bold = False
' Unlock these cells to be able to enter text later after
' sheet is protected.
.Locked = False
End With
' Put border around the block of dates.
With Range("A3").Offset(x * 2, 0).Resize(2, _
7).Borders(xlLeft)
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Range("A3").Offset(x * 2, 0).Resize(2, _
7).Borders(xlRight)
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
Range("A3").Offset(x * 2, 0).Resize(2, 7).BorderAround _
Weight:=xlThick, ColorIndex:=xlAutomatic
Next
If Range("A13").Value = "" Then Range("A13").Offset(0, 0) _
.Resize(2, 8).EntireRow.Delete
' Turn off gridlines.
ActiveWindow.DisplayGridlines = False
' Protect sheet to prevent overwriting the dates.
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, _
Scenarios:=True
' Resize window to show all of calendar (may have to be adjusted
' for video configuration).
ActiveWindow.WindowState = xlMaximized
ActiveWindow.ScrollRow = 1
' Allow screen to redraw with calendar showing.
Application.ScreenUpdating = True
' Prevent going to error trap unless error found by exiting Sub
' here.
Exit Sub
' Error causes msgbox to indicate the problem, provides new input box,
' and resumes at the line that caused the error.
MyErrorTrap:
MsgBox "You may not have entered your Month and Year correctly." _
& Chr(13) & "Spell the Month correctly" _
& " (or use 3 letter abbreviation)" _
& Chr(13) & "and 4 digits for the Year"
MyInput = InputBox("Type in Month and year for Calendar")
If MyInput = "" Then Exit Sub
Resume
End Sub
Der VBA kommt aus diesem Web https://support.microsoft.com/en-us/kb/150774
2. Drücken Sie F5 Schlüssel oder Führen Sie Klicken Sie auf die Schaltfläche, und ein Dialogfeld wird angezeigt, in dem Sie daran erinnert werden, den Monat einzugeben, den Sie zum Erstellen eines Kalenders benötigen. Siehe Screenshot:
3 Klicken OK. Jetzt wird im aktiven Blatt ein Kalender für Januar 2015 erstellt.
Bei den oben genannten Methoden gibt es jedoch einige Einschränkungen. Wenn Sie beispielsweise einen Kalender von Januar bis Mai gleichzeitig erstellen möchten, müssen Sie den Kalender mit den oben genannten zwei Methoden fünfmal erstellen. Jetzt stelle ich ein praktisches Dienstprogramm vor, um es schnell und einfach zu lösen
Erstellen Sie ganz einfach einen Monats- oder Jahreskalender mit Perpetual Calendar
Ewiger Kalender ist eines der mächtigsten Dienstprogramme in Kutools for Excelund es kann Ihnen helfen, schnell einen Monats- oder Jahreskalender in Excel auf einmal zu erstellen.
Kutools for Excel, mit mehr als 300 praktische Funktionen erleichtern Ihre Arbeit. | ||
1 Klicken Unternehmen > Arbeitsblatt > Ewiger Kalender. siehe Screenshot:
2. Geben Sie im Popup-Dialogfeld die Monatsdauer an, für die Sie den Kalender erstellen möchten, und klicken Sie auf Erstellen. Siehe Screenshot:
Anschließend wird eine neue Arbeitsmappe mit fünf Kalenderarbeitsblättern erstellt. Siehe Screenshot:
TIPP:
Wenn Sie nur einen bestimmten Monatskalender erstellen möchten, müssen Sie nur den gleichen Monat in den Textfeldern Von und Bis im Dialogfeld auswählen.
Klicken Sie hier, um mehr über Perpetual Calendar zu erfahren
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!