ExcelVBA日期控件美化 跟随单元格日期面板兼容32位+64位及WPS 窗体 日历控件 窗体跟随单元格代码 图文

2020年3月27日12:29:28 1 2,362 views
表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页
表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页

最新修复星期错位问题2020-4-20

最新增加窗体上下空白区可鼠标按住拖放位置2020-9-9

实测兼容WPS2019 office全系列 32+64位 务必仔细看使用说明

网站经费紧张,附件打赏费下载,感谢支持!

视频使用说明 https://www.bilibili.com/video/BV1yt4y127c1/

美图先上!!

单元格中使用效果

表格文本框控件中的效果

窗体中使用效果示范

众多周知,Excel自带的日期控件兼容性极差,勉强安装后,换一个机器无法使用的几率简直就是99%,鉴于此,我们在做VBA项目的时候,都是使用自制的VBA窗体定制日期控件,网上有不少版本,不过颜值都不高,我花了3天时间,精心制作了本款现代化的日历控件。

操作动画如下

日历面板操作动画

本控件主要功能特点如下

  1. 单窗体,无需其他模块辅助,导出的窗体,其他项目直接导入使用即可
  2. 跟随单元格位置,无标题栏,无边框窗体,使用体验与控件无二,点击其他单元格自动隐藏
  3. 按键支持,按下Esc退出面板,按下回车输入日期
  4. 鼠标滑过日期变色,当前高亮显示,任何日期点击今天快速返回
  5. 兼容表格中的Activex文本框及组合框控件
  6. 兼容窗体控件中的文本框和组合框控件
  7. 用户接口全部为一句代码,只需要在单元格选择事件或者控件鼠标点击事件中加入 frmRQ.ShowDate Target
  8. 窗体用法可用于其他VBA宿主中的窗体控件

下面是使用方法和下载地址


单元格中使用方法

  1. 在单元格所在sheet代码模块中粘贴下面代码
  2. [B3,C3]为单元格作用区域,改为你实际使用的日期单元格区域即可,可多个不连续区域可整列整行
  3. 核心就是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

文本框及组合框控件中的使用方法

  1. 设计模式下 双击控件进入代码页面输入下面代码
  2. 其他控件只需要复制本代码 修改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教程后找我索取
教程链接http://excel880.com/blog/archives/11291
  • 郑广学老师微信号
  • EXCEL880B
  • weinxin
  • 我的微信公众号
  • EXCEL880
  • weinxin
表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页
表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页

发表评论

您必须才能发表评论!

目前评论:1   其中:访客  1   博主  0

    • aig110119 0

      very漂亮!