网站首页 > 资源文章 正文
多数的软件都拥有一个日期控件,比如说在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
在窗体内添加窗体按钮代码:
- 上一篇: 简单的微信授权登录,没想到设计细节如此惊艳
- 下一篇: 解密!美国签证上面的英文和数字都代表着什么
猜你喜欢
- 2024-09-23 stm32知识点-定时器(stm32定时器1输出pwm)
- 2024-09-23 哔哩哔哩直播通用奖励系统揭秘(哔哩哔哩直播礼物明细价格)
- 2024-09-23 自动驾驶感知数据闭环简析(自动驾驶环境感知技术)
- 2024-09-23 take的固定搭配(take的固定搭配大全)
- 2024-09-23 解密!美国签证上面的英文和数字都代表着什么
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)