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

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

著者: テクニカルサポート 最終更新日:2024年01月29日

Excel カレンダーは、誰かが新しい仕事を始めたときや、何かを届ける必要があるときなど、重要なイベントを追跡するのに役立ちます。これらの日付を簡単かつ明確に確認できるようになります。このガイドでは、Excel で月間カレンダーと年間カレンダーの両方を作成する方法を説明します。テンプレートを使用して簡単にセットアップする方法と、より詳細に制御したい人のために最初からテンプレートを作成する方法についても説明します。こうすることで、仕事でも個人的な計画でも、整理整頓された状態を保つことができます。

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

Kutools forExcelを使用して月次または年次カレンダーをすばやく作成する

VBAコードで月間カレンダーを作成する


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

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

1。 に行く File タブをクリックします。 新作 左ペインの ボタンをクリックし、 カレンダー から 提案された検索。 スクリーンショットを参照してください:

2. 好みのカレンダー テンプレートを XNUMX つ選択し、それをダブルクリックして年間カレンダーを作成します。

結果


Kutools forExcelを使用して月次または年次カレンダーをすばやく作成する

パーペチュアルカレンダー のツール Excel用のkutools カスタマイズされた月間カレンダーまたは年次カレンダーを新しいワークブックにすばやく作成でき、各月間カレンダーは新しいワークシートに含まれます。

注: これを適用する パーペチュアルカレンダー 機能を使用するには、まずダウンロードしてインストールする必要があります Kutools for Excel.

Kutools for Excelをインストールした後、をクリックしてください クツールズプラス > ワークシート > パーペチュアルカレンダー。 ポップアップで パーペチュアルカレンダー ダイアログボックスで、次のようにしてください。

  • 月間カレンダーを作成するには、カレンダーを作成する月を指定します。 および ドロップダウンリストをクリックして 創造する.
  • 年間カレンダーを作成するには、カレンダーを作成する年を指定します。 および ドロップダウンリストをクリックして 創造する.
結果
  • 月間カレンダー:
  • 年間カレンダー:
先端: この機能を使用するには、以下をインストールする必要があります Kutools for Excel まずはお願いします クリックしてダウンロードし、30 日間の無料トライアルをご利用ください 今。

VBAコードで月間カレンダーを作成する

次のVBAコードを使用すると、月間カレンダーをすばやく作成できます。 次のようにしてください。

1。 押す 他の + F11 キーを押して、Microsoft Visual Basic forApplicationsウィンドウを開きます。

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 アプリケーションを実行するためのキー。プロンプトボックスが表示されるので、空白のボックスに月と年を入力できます。

結果

Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thanks guys for helping. Would like to be able to have a yearly Calendar in which I can enter items. If you can help that would be great.
This comment was minimized by the moderator on the site
Hi, How can I make it start on Monday instead? Thanks in advance
This comment was minimized by the moderator on the site
Excellent job. Billions thanks for your great design of the Excel calendar template. :lol:
There are no comments posted here yet
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations