Перейти к содержимому

Как создать календарь в Excel?

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

Календарь в Excel помогает вам отслеживать важные события, такие как начало новой работы или сроки доставки. Он делает эти даты легко видимыми и понятными. В этом руководстве я покажу вам, как создать месячные и годовые календари в Excel. Мы рассмотрим использование шаблонов для быстрой настройки, а также создание календаря с нуля для тех, кто хочет больше контроля. Таким образом, вы сможете оставаться организованным, будь то для работы или личных планов.

create a calendar

Создайте годовой календарь, используя шаблоны календарей Excel

Быстро создайте месячный или годовой календарь с помощью Kutools для Excel

Создайте месячный календарь с помощью кода VBA


Создайте годовой календарь, используя шаблоны календарей Excel

При использовании этого метода убедитесь, что ваш компьютер подключен к сети, чтобы вы могли загрузить Шаблоны календарей.

1. Перейдите на вкладку Файл, нажмите кнопку Новый в левой панели и выберите Календари из предложенных поисковых запросов. См. скриншот:

click New button, and click Calendars

2. Выберите один из понравившихся шаблонов календаря, дважды щелкните по нему, чтобы создать годовой календарь.

 select one of the calendar templates

Результат

the calendar is inserted


Быстро создайте месячный или годовой календарь с помощью Kutools для Excel

Инструмент Вечный календарь из Kutools для Excel может быстро создать настраиваемый месячный или годовой календарь в новой книге, и каждый месячный календарь будет размещен на новом листе.

Kutools для Excel предлагает более 300 продвинутых функций для упрощения сложных задач, повышая креативность и эффективность. Интеграция с возможностями ИИ позволяет Kutools автоматизировать задачи с высокой точностью, делая управление данными без усилий. Подробная информация о Kutools для Excel...  Бесплатная пробная версия...

После установки Kutools для Excel нажмите Kutools Plus > Лист > Вечный календарь. В появившемся диалоговом окне Вечный календарь выполните следующие действия:

  • Чтобы создать месячный календарь, укажите месяцы, для которых нужно создать календарь, через раскрывающиеся списки От иДо, затем нажмите Создать.

specify the months to create a monthly calendar

  • Чтобы создать годовой календарь, укажите год, для которого нужно создать календарь, через раскрывающиеся списки От и До, затем нажмите Создать.

 specify the year  create a yearly calendar

Результат
  • Месячный календарь:

 A monthly calendar is inserted

  • Годовой календарь:

A yearly calendar is inserted

Совет: Чтобы использовать эту функцию, сначала необходимо установить Kutools для Excel, нажмите, чтобы скачать и получить 30-дневную бесплатную пробную версию прямо сейчас.

Создайте месячный календарь с помощью кода VBA

С помощью следующего кода VBA вы можете быстро создать месячный календарь. Пожалуйста, выполните следующие действия:

1. Нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic для приложений.

2. Появится новое окно. Нажмите Вставить > Модуль, затем введите следующий код в модуль:

 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. Затем нажмите кнопку Выполнить или клавишу F5, чтобы запустить приложение. Теперь появится всплывающее окно, где вы можете ввести месяц и год в пустое поле.

 input the month and the year in the textbox

Результат

 a monthly calendar is inserted