Skip to main content

Como criar um calendário no Excel?

Author: Tech Support Last Modified: 2025-06-04

Um calendário no Excel ajuda você a acompanhar eventos importantes, como quando alguém começa um novo emprego ou quando algo precisa ser entregue. Ele torna a visualização dessas datas fácil e clara. Neste guia, mostrarei como criar calendários mensais e anuais no Excel. Vamos explorar o uso de modelos para uma configuração rápida e também como criar um do zero para quem deseja mais controle. Dessa forma, você pode se manter organizado, seja para o trabalho ou para planos pessoais.

create a calendar

Crie um calendário anual usando Modelos de Calendário do Excel

Crie rapidamente um calendário mensal ou anual com o Kutools para Excel

Crie um calendário mensal com código VBA


Crie um calendário anual usando Modelos de Calendário do Excel

Com este método, você deve garantir que seu computador esteja conectado à rede, para que possa baixar os Modelos de Calendário.

1. Vá até a aba Arquivo, clique no botão Novo no painel esquerdo e clique em Calendários nas Sugestões de pesquisa. Veja a captura de tela:

click New button, and click Calendars

2. Selecione um dos modelos de calendário que você goste, dê um duplo clique nele para criar o calendário anual.

 select one of the calendar templates

Resultado

the calendar is inserted


Crie rapidamente um calendário mensal ou anual com o Kutools para Excel

A ferramenta Calendário Perpétuo do Kutools para Excel pode criar rapidamente um calendário mensal ou anual personalizado em uma nova pasta de trabalho, e cada calendário mensal será contido em uma nova planilha.

Kutools para Excel oferece mais de 300 recursos avançados para simplificar tarefas complexas, aumentando a criatividade e a eficiência. Integrado com capacidades de IA, o Kutools automatiza tarefas com precisão, tornando a gestão de dados fácil e eficiente. Mais informações sobre o Kutools para Excel...  Teste gratuito...

Após instalar o Kutools para Excel, por favor, clique em Kutools Plus > Planilha > Calendário Perpétuo. Na caixa de diálogo Calendário Perpétuo que aparece, faça o seguinte:

  • Para criar um calendário mensal, especifique os meses que deseja criar o calendário através das listas suspensas De e Até, e clique em Criar.

specify the months to create a monthly calendar

  • Para criar um calendário anual, especifique o ano que deseja criar o calendário através das listas suspensas De e Até, e clique em Criar.

 specify the year  create a yearly calendar

Resultado
  • Um calendário mensal:

 A monthly calendar is inserted

  • Um calendário anual:

A yearly calendar is inserted

Dica: Para usar esse recurso, você deve instalar o Kutools para Excel primeiro, por favor, clique para baixar e ter uma avaliação gratuita de 30 dias agora.

Crie um calendário mensal com código VBA

Com o seguinte código VBA, você pode criar rapidamente um calendário mensal. Por favor, faça o seguinte:

1. Pressione as teclas Alt + F11 para abrir a janela Microsoft Visual Basic for Applications.

2. Uma nova janela será exibida. Clique em Inserir > Módulo, depois insira os seguintes códigos no módulo:

 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. Em seguida, clique no botão Executar ou pressione a tecla F5 para executar a aplicação. Agora uma caixa de prompt aparecerá, você pode inserir o mês e o ano na caixa em branco.

 input the month and the year in the textbox

Resultado

 a monthly calendar is inserted