大多数软件都有日期控件,例如tableau里日期控制就是这样的表现形式。

其实在Excel它还包含一个日期控件Microsoft Date and Time Picker Control 6.0(SP6)。但并非所有版本都会拥有这个控件,
本文介绍了如何使用公式制作简单版本Excel日历和日历以窗户的形式反映。

公式版的日历相对简单,使用公式:
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)
效果如下:

为简化代码,窗体版控件在公式版的基础上升级,使用效果如下:

如何制作窗版日历?可将窗体插入宏编辑界面,然后将一定数量的按钮插入窗体,添加功能代码。

示例还在工作表对象中添加了点击触发宏代码,目的是点击指定位置跳出日历。
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
将窗体按钮代码添加到窗体内:

**本论坛部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本论坛仅供提供学习交流和参考,禁止用户用于商业行为,并请于下载后24小时内删除,若喜欢该作品请联系原作者购买正版。如果您发现论坛上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
158自学网 » excel日历控件,excel日历控件英文
158自学网 » excel日历控件,excel日历控件英文
关于售后:
(1)、因部分资料含有敏感关键词,百度网盘无法分享链接,请联系客服进行发送;
(2)、所有资料在您未收到之前,都可以联系微信/QQ:406499404,无条件退款
(3)仅支持原渠道退回,微信支付,支付宝退回至您当初选择的付款方式
(4)不用担心不给资料,如果没有及时回复也不用担心,看到了都会发给您的,请放心!
(5)因部份资源来源互联网,本站不担保其完整性,请知悉!
(1)、因部分资料含有敏感关键词,百度网盘无法分享链接,请联系客服进行发送;
(2)、所有资料在您未收到之前,都可以联系微信/QQ:406499404,无条件退款
(3)仅支持原渠道退回,微信支付,支付宝退回至您当初选择的付款方式
(4)不用担心不给资料,如果没有及时回复也不用担心,看到了都会发给您的,请放心!
(5)因部份资源来源互联网,本站不担保其完整性,请知悉!