KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come si crea un calendario in Excel?

AutoreAssistenza tecnica Data di modifica

Un calendario Excel ti aiuta a tenere traccia di eventi importanti, come l’inizio di un nuovo lavoro o la consegna di un progetto, offrendoti una visualizzazione chiara e immediata delle date. In questa guida ti mostrerò come creare sia calendari mensili che annuali in Excel: scoprirai come sfruttare i modelli predefiniti per una configurazione rapida e come costruirne uno da zero per avere il massimo controllo. Così potrai restare sempre organizzato, sia sul lavoro che nella vita personale.

crea un calendario

Crea un calendario annuale utilizzando i modelli di calendario di Excel

Crea rapidamente un calendario mensile o annuale con Kutools per Excel

Crea un calendario mensile con codice VBA


Crea un calendario annuale utilizzando i modelli di calendario di Excel

Con questo metodo, assicurati che il computer sia connesso alla rete per poter scaricare i Modelli di calendario.

1. Passa alla scheda File, fai clic sul pulsante Nuovo nel riquadro a sinistra e poi su Calendari in Ricerche suggerite. Guarda lo screenshot:

fai clic sul pulsante Nuovo e poi su Calendari

2. Seleziona uno dei modelli di calendario preferiti e fai doppio clic su di esso per creare il tuo calendario annuale.

 seleziona uno dei modelli di calendario

Risultato

il calendario è stato inserito


Crea rapidamente un calendario mensile o annuale con Kutools per Excel

Calendario Perpetuo, uno strumento di Kutools per Excel, ti permette di creare rapidamente un calendario personalizzato—mensile o annuale—in una nuova cartella di lavoro, con ogni calendario mensile collocato in un foglio di lavoro dedicato.

Kutools per Exceloffre oltre 300 funzionalità avanzate per semplificare compiti complessi, aumentando creatività ed efficienza.Integrato con capacità AI, Kutools automatizza le attività con precisione, rendendo la gestione dei dati semplice.Informazioni dettagliate su Kutools per Excel...         Prova gratuita...

Dopo aver installato Kutools per Excel, fai clic su KUTOOLS PLUS > Foglio di lavoro > Calendario Perpetuo. Nella finestra di dialogo Calendario Perpetuo visualizzata, procedi come segue:

  • Per creare un calendario mensile, specifica i mesi desiderati tramite i campi Da e A negli elenchi a discesa, quindi fai clic su Crea.

specifica i mesi per creare un calendario mensile

  • Per creare un calendario annuale, specifica l’anno desiderato tramite i campi Da e A negli elenchi a discesa, quindi fai clic su Crea.

 specifica l'anno per creare un calendario annuale

Risultato
  • Un calendario mensile:

È stato inserito un calendario mensile

  • Un calendario annuale:

È stato inserito un calendario annuale

Suggerimento: per utilizzare questa funzione, è necessario installare prima Kutools per Excelfare clic per scaricare e ottenere una prova gratuita di 30 giorniora.

Crea un calendario mensile con codice VBA

Con il seguente codice VBA puoi creare rapidamente un calendario mensile. Ecco come procedere:

1. Premi i tasti Alt+F11 per aprire la finestra di Microsoft Visual Basic, Applications.

2. Si aprirà una nuova finestra. Fai clic su Inserisci > Modulo, quindi inserisci il seguente codice nel modulo:

 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. Quindi fai clic sul pulsante Esegui oppure premi il tasto F5 per eseguire l’applicazione. Apparirà una finestra di dialogo in cui potrai inserire il mese e l’anno desiderati.

 inserisci il mese e l'anno nella casella di testo

Risultato

 è stato inserito un calendario mensile