如何在Excel中建立日曆?
日曆是規劃我們一天、跟蹤事件和高效管理時間的關鍵工具。Excel 提供靈活的設計環境,可以建立滿足您自身需求的獨特日曆。本教程將逐步引導您完成此過程,無論您是想製作每月、年度甚至自定義日曆。
在本文中,我們將瞭解 Excel 的技巧和功能,這些技巧和功能可讓您建立有效且美觀的日曆。您無需成為 Excel 專家即可學習,因為我們將從基礎知識開始,逐步學習更復雜的概念。
建立日曆
在這裡,我們將首先建立一個 VBA 模組,然後輸入月份和年份以獲取日曆。讓我們來看一個簡單的過程來學習如何在 Excel 中建立日曆。
步驟 1
考慮任何 Excel 工作簿。
首先,右鍵單擊工作表名稱,然後選擇“檢視程式碼”以開啟 VBA 應用程式。
右鍵單擊 > 檢視程式碼。
步驟 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 執行模組。然後輸入月份和年份,然後單擊“確定”以獲取日曆。
F5 > 月份和年份 > 確定。
這就是您如何在 Excel 中建立日曆的方法。
結論
在本教程中,我們使用了一個簡單的示例來演示如何建立 Excel 日曆以突出顯示特定資料集。
廣告