KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como criar um calendário no Excel?

AutorApoio Técnico Data de Modificação

Um calendário no Excel ajuda-o a acompanhar eventos importantes, como o início de um novo emprego ou prazos de entrega, tornando a visualização dessas datas clara e simples. Neste guia, mostro-lhe como criar calendários mensais e anuais no Excel — desde a utilização de modelos para uma configuração rápida até à criação de um do zero, para quem pretende total controlo. Assim, mantém-se organizado, seja para o trabalho ou para os seus planos pessoais.

criar um calendário

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

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

Crie um calendário mensal com código VBA


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

Com este método, tem de garantir que o seu computador está ligado à rede para poder descarregar os Modelos de Calendário.

1. Aceda ao separador Ficheiro, clique no botão Novo no painel esquerdo e, em seguida, clique em Calendários em Pesquisas sugeridas. Veja a captura de ecrã:

clique no botão Novo e clique em Calendários

2. Escolha o modelo de calendário que mais lhe agradar e faça duplo clique nele para criar o seu calendário anual.

 selecione um dos modelos de calendário

Resultado

o calendário é inserido


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

Calendário Perpétuo da ferramenta Kutools para Excel permite criar rapidamente um calendário personalizado de mês ou ano num novo livro, com cada calendário mensal colocado numa nova folha.

Kutools para Exceloferece mais de 300 funcionalidades avançadas para simplificar tarefas complexas, impulsionando a criatividade e a eficiência.Integrado com capacidades de IA, o Kutools automatiza tarefas com precisão, tornando a gestão de dados descomplicada.Informações detalhadas sobre o Kutools para Excel...         Teste gratuito...

Após instalar o Kutools para Excel, clique em KUTOOLS PLUS > Folha de cálculo > Calendário Perpétuo. Na caixa de diálogo Calendário Perpétuo que surge, proceda da seguinte forma:

  • Para criar um calendário mensal, especifique os meses que pretende utilizar nas listas suspensas De e Até e clique em Criar.

especifique os meses para criar um calendário mensal

  • Para criar um calendário anual, especifique o ano que pretende utilizar nas listas suspensas De e Até e clique em Criar.

 especifique o ano para criar um calendário anual

Resultado
  • Um calendário mensal:

Um calendário mensal é inserido

  • Um calendário anual:

Um calendário anual é inserido

Dica: Para utilizar esta funcionalidade, deverá instalar primeiro o Kutools para Excel, por favor clique para transferir e experimentar gratuitamente durante 30 diasagora.

Crie um calendário mensal com código VBA

Com o seguinte código VBA, pode criar rapidamente um calendário mensal. Siga estes passos:

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

2. Será apresentada uma nova janela. Clique em Inserir > Módulo e introduza 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 prima a tecla F5 para executar a aplicação. Irá surgir uma caixa de diálogo na qual poderá introduzir o mês e o ano no campo indicado.

 introduza o mês e o ano na caixa de texto

Resultado

um calendário mensal é inserido