tft每日頭條

 > 生活

 > 如何在excel做日曆表

如何在excel做日曆表

生活 更新时间:2025-01-21 10:24:33

多數的軟件都擁有一個日期控件,比如說在tableau裡日期控件是這樣的表現形式。

如何在excel做日曆表(Excel利用公式制作日曆和窗體日曆)1

其實在Excel裡也包含一個日期控件Microsoft Date and Time Picker Control 6.0(SP6)。但是,這個控件并不是所有的版本都會擁有,

本篇介紹如何利用公式制作簡單版的Excel日曆和利用宏以窗體形式體現日曆。

如何在excel做日曆表(Excel利用公式制作日曆和窗體日曆)2

公式版的日曆比較簡單,利用公式:

IF(MONTH(DATE($B$2,$B$3,1)-WEEKDAY(DATE($B$2,$B$3,1),2) COLUMN(A:A) (ROW(1:1)-1)*7)<>$B$3,"*",DATE($B$2,$B$3,1)-WEEKDAY(DATE($B$2,$B$3,1),2) COLUMN(A:A) (ROW(1:1)-1)*7)

效果如下:

如何在excel做日曆表(Excel利用公式制作日曆和窗體日曆)3

窗體版的控件為了簡化代碼,是在公式版的基礎上進行的升級,使用效果如下:

如何在excel做日曆表(Excel利用公式制作日曆和窗體日曆)4

如何制作窗體版日曆呢?在宏編輯界面可以插入窗體,然後在窗體内插入一定數量的按鈕,為其添加功能性代碼即可。

如何在excel做日曆表(Excel利用公式制作日曆和窗體日曆)5

示例還在工作表對象内添加了點擊觸發宏代碼,目的是點擊指定位置才會跳出日曆。

Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 2 Then UserForm1.Controls("Label8").Caption = Date UserForm1.Controls("ComboBox1").Text = Year(Now()) UserForm1.Controls("ComboBox2").Text = Month(Now()) '開始賦值 j = 1 r = 3 For i = 1 To 42 If i >= 7 And i Mod 7 = 1 Then r = r 1 End If j = i Mod 7 If j = 0 Then j = 7 End If If Sheets("日期").Cells(r, j 3) = "*" Then UserForm1.Controls("CommandButton" & i).Caption = "-" Else UserForm1.Controls("CommandButton" & i).Caption = Day(Sheets("日期").Cells(r, j 3)) End If Next '賦值結束 UserForm1.Controls("ComboBox1").List = Array("2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024") UserForm1.Controls("ComboBox2").List = Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12") UserForm1.Show False UserForm1.Left = Target.Offset(0, 7).Left Else UserForm1.Hide End If End Sub

在窗體内添加窗體按鈕代碼:

如何在excel做日曆表(Excel利用公式制作日曆和窗體日曆)6

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved