Note: The other languages of the website are Google-translated. Back to English
English English

Come creare un calendario mensile / annuale in Excel?

In un certo momento, è necessario creare un mese o un anno specifico in Excel, come puoi risolverlo rapidamente? Questo tutorial introduce i trucchi per creare rapidamente un calendario mensile o annuale in Excel.

Crea un calendario mensile o annuale con il modello Excel

Crea calendario mensile da VBA

Crea facilmente un calendario mensile o annuale con il calendario perpetuo buona idea 3

Scheda Office Abilita la modifica a schede e la navigazione in Office e semplifica notevolmente il lavoro ...
Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%
  • Riutilizza qualsiasi cosa: Aggiungi le formule, i grafici e qualsiasi altra cosa più usati o complessi ai tuoi preferiti e riutilizzali rapidamente in futuro.
  • Più di 20 funzioni di testo: Estrai numero dalla stringa di testo; Estrai o rimuovi parte di testi; Converti numeri e valute in parole inglesi.
  • Unisci strumenti: Più cartelle di lavoro e fogli in uno; Unisci più celle / righe / colonne senza perdere dati; Unisci righe duplicate e somma.
  • Strumenti di divisione: Suddivisione dei dati in più fogli in base al valore; Una cartella di lavoro su più file Excel, PDF o CSV; Da una colonna a più colonne.
  • Incolla Salto Righe nascoste / filtrate; Count And Sum di Background Color; Invia e-mail personalizzate a più destinatari in blocco.
  • Super filtro: Crea schemi di filtri avanzati e applicali a qualsiasi foglio; Riordina per settimana, giorno, frequenza e altro; Filtro in grassetto, formule, commenti ...
  • Più di 300 potenti funzionalità; Funziona con Office 2007-2019 e 365; Supporta tutte le lingue; Facile distribuzione nella tua azienda o organizzazione.

freccia blu freccia destra Crea un calendario mensile o annuale con il modello Excel


In Excel è possibile utilizzare un modello di calendario per creare un calendario mensile o annuale.

1. In Excel 2010/2013, fare clic su Compila il > New, in Excel 2007, fare clic su Pulsante di ufficio > New, quindi nella sezione destra della finestra che si apre, digita gestione del progetto nel motore di ricerca. Vedi screenshot:

In Excel 2010/2013

calendario mensile doc 1

In Excel 2007

calendario mensile doc 2

2. Stampa Entra, quindi nella finestra vengono elencati più tipi di calendari. Seleziona un tipo di calendario di cui hai bisogno e fai clic Scarica (o crea) nel riquadro di destra. Vedi screenshot:

calendario mensile doc 3

Ora viene creato un calendario in una nuova cartella di lavoro. Vedi screenshot:

calendario mensile doc 4


freccia blu freccia destra Crea calendario mensile da VBA

A volte, è necessario creare un calendario di un mese per il mese specificato, ad esempio gennaio 2015. Potrebbe essere difficile trovare un modello di calendario di questo tipo con il metodo sopra. Qui presento un codice VBA per aiutarti a creare un calendario mensile specifico.

1. Stampa Alt + F11 chiavi per aprire Microsoft Visual Basic, Applications Edition finestra, fare clic inserire > Modulo, quindi copia e incolla sotto il codice VBA nella finestra.

VBA: crea un calendario mensile.

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

Il VBA proviene da questo web https://support.microsoft.com/en-us/kb/150774

2. Stampa F5 chiave o Correre e viene visualizzata una finestra di dialogo per ricordarti di digitare il mese specifico di cui hai bisogno per creare un calendario, vedi screenshot:

calendario mensile doc 5

3. Clic OK. Ora un calendario gennaio 2015 viene creato nel foglio attivo.

calendario mensile doc 6

Ma nei metodi sopra, ci sono alcune limitazioni, ad esempio, se vuoi creare un calendario da gennaio a maggio contemporaneamente, devi creare il calendario in cinque volte con i due metodi precedenti. Ora presento una pratica utility per risolverlo rapidamente e facilmente


freccia blu freccia destra Crea facilmente un calendario mensile o annuale con il calendario perpetuo

Calendario Perpetuo è una delle potenti utilità in Kutools for Excele può aiutarti a creare rapidamente un calendario mensile o annuale in Excel contemporaneamente.

Kutools for Excel, con oltre 300 funzioni utili, rende il tuo lavoro più facile. 

1. Clic Impresa > Foglio di lavoro > Calendario Perpetuo. vedi screenshot:

calendario mensile doc 7

2. Nella finestra di dialogo che appare, specificare la durata del mese in cui si desidera creare il calendario e fare clic Creare. Vedi screenshot:

calendario mensile doc 8

Quindi viene creata una nuova cartella di lavoro con cinque fogli di lavoro del calendario. Vedi screenshot:

calendario mensile doc 9

Mancia:

Se si desidera creare un calendario mensile specifico, è sufficiente selezionare lo stesso mese nelle caselle di testo Da e A nella finestra di dialogo.

Fare clic qui per saperne di più sul calendario perpetuo


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce centinaia di clic del mouse ogni giorno!
fondo officetab
Commenti (0)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite