メインコンテンツへスキップ

Excelでカレンダーを作成するにはどうすればよいですか?

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

Excelのカレンダーを使用すると、誰かが新しい仕事を始めたり、何かを納品する必要がある日など、重要なイベントを簡単に追跡できます。これにより、これらの日付を明確に把握することが簡単になります。このガイドでは、Excelで月ごとおよび年ごとのカレンダーを作成する方法をご紹介します。テンプレートを使用して素早くセットアップする方法と、より細かいコントロールが必要な方向けにゼロから作成する方法も説明します。これにより、仕事や個人的な計画に関わらず整理整頓を維持できます。

create a calendar

Excelのカレンダーテンプレートを使用して年間カレンダーを作成する

Kutools for Excelを使用して月ごとまたは年ごとのカレンダーを迅速に作成する

VBAコードを使用して月ごとのカレンダーを作成する


Excelのカレンダーテンプレートを使用して年間カレンダーを作成する

この方法では、ネットワークに接続されていることを確認する必要があります。そうすることで、カレンダーテンプレートをダウンロードできます。

1. [ファイル]タブに移動し、左ペインの[新規]ボタンをクリックし、推奨される検索結果から[カレンダー]をクリックします。スクリーンショットをご覧ください:

click New button, and click Calendars

2. 気に入ったカレンダーテンプレートを選択し、それをダブルクリックして年間カレンダーを作成します。

 select one of the calendar templates

結果

the calendar is inserted


Kutools for Excelを使用して月ごとまたは年ごとのカレンダーを迅速に作成する

Kutools for Excel永久カレンダーツールを使用すると、新しいワークブックにカスタマイズされた月ごとまたは年ごとのカレンダーを迅速に作成でき、各月のカレンダーは新しいワークシートに含まれます。

Kutools for Excelは、300以上の高度な機能を提供し、複雑なタスクを簡素化し、創造性と効率を向上させます。 AI機能と統合され、Kutoolsは正確にタスクを自動化し、データ管理を容易にします。Kutools for Excelの詳細情報...無料トライアル...

Kutools for 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 for Excelをインストールする必要があります。今すぐクリックしてダウンロードし、30日間の無料トライアルをお試しください

VBAコードを使用して月ごとのカレンダーを作成する

以下のVBAコードを使用すると、月ごとのカレンダーを迅速に作成できます。次の手順に従ってください:

1. Alt + F11キーを押してMicrosoft Visual Basic for Applicationsウィンドウを開きます。

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