微信公众号 【EXCEL880】 QQ群【341401932】
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
最新升级为多色可选彩色 15色可选 可缩放大小 可自定义颜色 2021-5-17
最新修复星期错位问题2020-4-20
最新增加窗体上下空白区可鼠标按住拖放位置2020-9-9
网站经费紧张,正式版打赏费下载,感谢支持!
实测兼容WPS2019 office全系列 32+64位 务必仔细看使用说明
众多周知,Excel自带的日期控件兼容性极差,勉强安装后,换一个机器无法使用的几率简直就是99%,鉴于此,我们在做VBA项目的时候,都是使用自制的VBA窗体定制日期控件,网上有不少版本,不过颜值都不高,我花了3天时间,精心制作了本款现代化的日历控件。
操作动画如下
本控件主要功能特点如下
- 单窗体,无需其他模块辅助,导出的窗体,其他项目直接导入使用即可
- 跟随单元格位置,无标题栏,无边框窗体,使用体验与控件无二,点击其他单元格自动隐藏
- 按键支持,按下Esc退出面板,按下回车输入日期
- 鼠标滑过日期变色,当前高亮显示,任何日期点击今天快速返回
- 兼容表格中的Activex文本框及组合框控件
- 兼容窗体控件中的文本框和组合框控件
- 用户接口全部为一句代码,只需要在单元格选择事件或者控件鼠标点击事件中加入 frmRQ.ShowDate Target
- 窗体用法可用于其他VBA宿主中的窗体控件
下面是使用方法和下载地址
单元格中使用方法
- 在单元格所在sheet代码模块中粘贴下面代码
- [B3,C3]为单元格作用区域,改为你实际使用的日期单元格区域即可,可多个不连续区域可整列整行
- 核心就是frmRQ.ShowDate Target 这一句代码 不需要其他代码
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address Like "*:*" Then Exit Sub '多选单元格退出 frmRQ.Hide '每次点击单元格先隐藏 后面决定是否显示 If Not Intersect(Target, [B3,C3]) Is Nothing Then '指定区域 这个可以放在单选和多选事件中 frmRQ.ShowDate Target End If End Sub
文本框及组合框控件中的使用方法
- 设计模式下 双击控件进入代码页面输入下面代码
- 其他控件只需要复制本代码 修改TextBox1为实际对应的控件名称即可
Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) frmRQ.ShowDate TextBox1 End Sub
控件下载地址
网站经费紧张,附件打赏费下载,感谢支持!
上面代码为混淆后代码 不影响正常调用
如果需要学习及修改源码 , 请购买本人VBA教程后找我索取
2020年4月6日 上午11:37 沙发
very漂亮!