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

2020年3月27日12:29:28 1 1,615 views
加微信EXCEL880A 课领取所有教程7天免费试学 教程所有目录excel880.com/mulu

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

实测兼容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. 日期面板设计与实现
  2. 日历计算的一般方法
  3. 窗体美化及排版技巧
  4. 鼠标滑过控件高亮变色技巧
  5. WINAPI函数制作无标题栏无边框窗体
  6. 窗体跟随单元格及控件高级技巧
  7. 32位和64位Office代码兼容技巧

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


单元格中使用方法

  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

控件下载地址

网站经费紧张,附件收费下载,感谢支持!
  • 微信扫码免费学习
  • 免费学习48小时
  • weinxin
  • 我的微信公众号
  • EXCEL880
  • weinxin

发表评论

您必须才能发表评论!

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

    • aig110119 0

      very漂亮!