ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1347|回复: 12

[求助] VBA 到指定的时间自动弹窗提示

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-7-7 17:29 | 显示全部楼层 |阅读模式
各位老师们:
       因工作需要,想要实现的功能是:我在H列输入时间,当电脑系统时间到H列输入的时间或者超过这个时间,进行弹窗提示。
       以下2个方案能否实现:
       方案1:能否在不打开EXCLE宏表的前提下自动弹窗提示(感觉好像有点难)。
       方案2:如果需要打开EXCLE宏表,能否不需要点击宏按钮能自动提示。
       自己从论坛找了VBA代码改了下,但是需要打开EXCLE宏表,在点击宏按钮才会跳出提示,这样就失去了原本的意义,因为用EXCLE条件格式就能更简单的实现重点提示。
       以下这个图片是需要点击按钮才会跳出提示
a9c88fb75ca2092349e8788cd52920a.png
       请各位老师指导下,并帮忙实现方案1(最优)或者方案2的需求,谢谢!
11111.png

案例.zip

12.99 KB, 下载次数: 7

TA的精华主题

TA的得分主题

发表于 2023-7-7 18:54 | 显示全部楼层
不打开EXCLE宏表的前提下你只能用条件格式来标记颜色,不能弄个弹窗出来,打开宏表的情况下不用sub,写个事件就可以了。。

TA的精华主题

TA的得分主题

发表于 2023-7-7 21:37 | 显示全部楼层
本帖最后由 adad321 于 2023-7-7 21:46 编辑

填写时间,点击启动,到时间后弹出消息,响起提示音。
  1. Option Explicit
  2. Private Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
  3. Private Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
  4. Private Const WM_TIMER As Long = &H113
  5. Private timerID As Long

  6. Private Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
  7.     Dim targetTime As Date
  8.     Dim currentTime As Date
  9.    
  10.     targetTime = Range("H2").Value ' 获取H2单元格中的时间
  11.     currentTime = Now ' 获取当前时间
  12.    
  13.     If Format(currentTime, "hh:mm:ss") = Format(targetTime, "hh:mm:ss") Then ' 判断当前时间是否等于目标时间
  14.         MsgBox "时间到了!" ' 弹出消息框
  15.         Beep ' 播放提示声音
  16.         KillTimer hwnd, idEvent ' 停止定时器
  17.     End If
  18. End Sub

  19. Sub StartTimer()
  20.     timerID = SetTimer(0, 0, 1000, AddressOf TimerProc) ' 启动定时器,间隔为1秒
  21. End Sub

  22. Sub StopTimer()
  23.     KillTimer 0, timerID ' 停止定时器
  24. End Sub
复制代码


定时.rar

18.45 KB, 下载次数: 27

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-7-7 21:39 | 显示全部楼层
本帖最后由 adad321 于 2023-7-8 10:48 编辑

网络延迟,发重了,略

TA的精华主题

TA的得分主题

发表于 2023-7-7 21:40 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 adad321 于 2023-7-8 10:48 编辑

延迟网络,发重了,略

TA的精华主题

TA的得分主题

发表于 2023-7-7 21:55 | 显示全部楼层
本帖最后由 adad321 于 2023-7-8 10:49 编辑

发重了,延迟了,略

TA的精华主题

TA的得分主题

发表于 2023-7-8 07:53 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这个真心不错,顶一下

TA的精华主题

TA的得分主题

发表于 2023-7-8 15:56 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-7-9 22:30 | 显示全部楼层
adad321 发表于 2023-7-7 21:37
填写时间,点击启动,到时间后弹出消息,响起提示音。

大佬,如果是64位系统,该咋改?

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-10 09:08 | 显示全部楼层
高个子 发表于 2023-7-7 18:54
不打开EXCLE宏表的前提下你只能用条件格式来标记颜色,不能弄个弹窗出来,打开宏表的情况下不用sub,写个事 ...

还属于新手,不会事件,感谢老师的意见!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 00:41 , Processed in 0.048157 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表