KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

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

АвторТехническая поддержкаДата изменения

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

создать календарь

Создайте годовой календарь с помощью шаблонов календарей Excel

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

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


Создайте годовой календарь с помощью шаблонов календарей Excel

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

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

нажмите кнопку «Создать» и выберите «Календари»

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

выберите один из шаблонов календаря

Результат

календарь вставлен


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

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

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

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

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

укажите месяцы для создания ежемесячного календаря

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

укажите год для создания годового календаря

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

Ежемесячный календарь вставлен

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

Годовой календарь вставлен

Совет: Чтобы использовать эту функцию, сначала необходимо установить 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, чтобы запустить приложение. Появится диалоговое окно, в которое можно ввести месяц и год.

введите месяц и год в текстовое поле

Результат

ежемесячный календарь вставлен