Hoppa till huvudinnehåll

Hur skapar jag en kalender i Excel?

En Excel-kalender hjälper dig att hålla reda på viktiga händelser, som när någon börjar på ett nytt jobb eller när något behöver levereras. Det gör det enkelt och tydligt att se dessa datum. I den här guiden visar jag dig hur du gör både månads- och årskalendrar i Excel. Vi kommer att titta på att använda mallar för en snabb installation och även hur man gör en från grunden för de som vill ha mer kontroll. På så sätt kan du hålla ordning, oavsett om det är för arbete eller personliga planer.

Skapa en årlig kalender med hjälp av Excel-kalendermallar

Skapa snabbt en månads- eller årskalender med Kutools för Excel

Skapa en månadskalender med VBA-kod


Skapa en årlig kalender med hjälp av Excel-kalendermallar

Med den här metoden måste du försäkra dig om att din dator ansluter till nätverket så att du kan ladda ner Kalendermallar.

1. Gå till Fil fliken, klicka Nya knappen i den vänstra rutan och klicka Kalendrar från Föreslagna sökningar. Se skärmdump:

2. välj en av kalendermallarna som du gillar, dubbelklicka på den för att skapa den årliga kalendern.

Resultat


Skapa snabbt en månads- eller årskalender med Kutools för Excel

Perpetual Calendar verktyg för kutools för Excel kan snabbt skapa en anpassad månadskalender eller årskalender i en ny arbetsbok, och varje månadskalender kommer att finnas i ett nytt kalkylblad.

Notera: Att tillämpa detta Perpetual Calendar funktionen, för det första bör du ladda ner och installera Kutools för Excel.

När du har installerat Kutools för Excel, klicka Kutools Plus > Arbetsblad > Perpetual Calendar. I popupen Perpetual Calendar dialogrutan, gör så här:

  • För att skapa en månadskalender, ange de månader du vill skapa kalendern genom Från ochTill rullgardinsmenyn och klicka på Skapa.
  • För att skapa en årlig kalender, ange det år du vill skapa kalendern genom Från och Till rullgardinsmenyn och klicka på Skapa.
Resultat
  • En månadskalender:
  • En årlig kalender:
Tips: För att använda den här funktionen bör du installera Kutools för Excel först, snälla klicka för att ladda ner och få en 30-dagars gratis provperiod nu.

Skapa en månadskalender med VBA-kod

Med följande VBA-kod kan du snabbt skapa en månadskalender. Gör så här:

1. Tryck andra + F11 för att öppna Microsoft Visual Basic for Applications-fönstret.

2. Det kommer att visas ett nytt fönster. Klick Insert > Modulerna, ange sedan följande koder i modulen:

 Sub CalendarMaker()
ActiveSheet.Protect DrawingObjects:=False, Contents:=False, _
Scenarios:=False
Application.ScreenUpdating = False
On Error GoTo MyErrorTrap
Range("a1:g14").Clear
MyInput = InputBox("Type in Month and year for Calendar ")
If MyInput = "" Then Exit Sub
StartDay = DateValue(MyInput)
If Day(StartDay) <> 1 Then
StartDay = DateValue(Month(StartDay) & "/1/" & _
Year(StartDay))
End If
Range("a1").NumberFormat = "mmmm yyyy"
With Range("a1:g1")
.HorizontalAlignment = xlCenterAcrossSelection
.VerticalAlignment = xlCenter
.Font.Size = 18
.Font.Bold = True
.RowHeight = 35
End With
With Range("a2:g2")
.ColumnWidth = 11
.VerticalAlignment = xlCenter
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Orientation = xlHorizontal
.Font.Size = 12
.Font.Bold = True
.RowHeight = 20
End With
Range("a2") = "Sunday"
Range("b2") = "Monday"
Range("c2") = "Tuesday"
Range("d2") = "Wednesday"
Range("e2") = "Thursday"
Range("f2") = "Friday"
Range("g2") = "Saturday"
With Range("a3:g8")
.HorizontalAlignment = xlRight
.VerticalAlignment = xlTop
.Font.Size = 18
.Font.Bold = True
.RowHeight = 21
End With
Range("a1").Value = Application.Text(MyInput, "mmmm yyyy")
DayofWeek = Weekday(StartDay)
CurYear = Year(StartDay)
CurMonth = Month(StartDay)
FinalDay = DateSerial(CurYear, CurMonth + 1, 1)
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
For Each cell In Range("a3:g8")
RowCell = cell.Row
ColCell = cell.Column
If cell.Column = 1 And cell.Row = 3 Then
ElseIf cell.Column <> 1 Then
If cell.Offset(0, -1).Value >= 1 Then
cell.Value = cell.Offset(0, -1).Value + 1
If cell.Value > (FinalDay - StartDay) Then
cell.Value = ""
Exit For
End If
End If
ElseIf cell.Row > 3 And cell.Column = 1 Then
cell.Value = cell.Offset(-1, 6).Value + 1
If cell.Value > (FinalDay - StartDay) Then
cell.Value = ""
Exit For
End If
End If
Next
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
.Locked = False
End With
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
ActiveWindow.DisplayGridlines = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, _
Scenarios:=True
ActiveWindow.WindowState = xlMaximized
ActiveWindow.ScrollRow = 1
Application.ScreenUpdating = True
Exit Sub
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 

3. Klicka sedan Körning knappen eller tryck på F5 nyckeln för att köra programmet. Nu kommer en uppmaningsruta att dyka upp, du kan ange månad och år i den tomma rutan.

Resultat

Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thanks guys for helping. Would like to be able to have a yearly Calendar in which I can enter items. If you can help that would be great.
This comment was minimized by the moderator on the site
Hi, How can I make it start on Monday instead? Thanks in advance
This comment was minimized by the moderator on the site
Excellent job. Billions thanks for your great design of the Excel calendar template. :lol:
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations