如何在Excel里使用定时器
答案:2 悬赏:70 手机版
解决时间 2021-12-17 08:43
- 提问者网友:独行者
- 2021-12-16 13:14
如何在Excel里使用定时器
最佳答案
- 五星知识达人网友:一饮茶尽
- 2021-12-16 14:48
这个是加入了定时器功能:
这个是加入了定时器功能,供参考:
'在抽奖用的工作表中做二个按钮:
按钮1的的代码是:Call 定时开始
按钮2的的代码是:Call 定时结束
Private Sub CommandButton1_Click() '定时开始
Call 定时开始
End Sub
Private Sub CommandButton2_Click() '定时结束
Call 定时结束
End Sub
'=========================================
'按ALT+F11进入VBA编程界面,VBA菜单:“插入”—“模块”,在“模块1”中复制以下全部代码:
Dim ttt '定义时间变量
Sub 呼叫F9键()
'MsgBox "F9开始 "
Application.SendKeys "{F9}"
ActiveSheet.Range("m1").Select
定时开始
End Sub
Sub 定时开始()
'ttt = TimeValue(Now()) + TimeValue("00:00:01")
ttt = Now + TimeValue("00:00:01")
Application.OnTime ttt, "呼叫F9键"
'Application.OnTime TimeValue(Now()) + TimeValue("00:00:01"), "呼叫F9键"
End Sub
Sub 定时结束()
On Error Resume Next
Application.OnTime ttt, "呼叫F9键", , False '定时开始
DoEvents
End Sub
使用时,先点击第1个“定时开始”,F9就一直在运行,然后使用第二个按钮“结束F9”
这个是加入了定时器功能,供参考:
'在抽奖用的工作表中做二个按钮:
按钮1的的代码是:Call 定时开始
按钮2的的代码是:Call 定时结束
Private Sub CommandButton1_Click() '定时开始
Call 定时开始
End Sub
Private Sub CommandButton2_Click() '定时结束
Call 定时结束
End Sub
'=========================================
'按ALT+F11进入VBA编程界面,VBA菜单:“插入”—“模块”,在“模块1”中复制以下全部代码:
Dim ttt '定义时间变量
Sub 呼叫F9键()
'MsgBox "F9开始 "
Application.SendKeys "{F9}"
ActiveSheet.Range("m1").Select
定时开始
End Sub
Sub 定时开始()
'ttt = TimeValue(Now()) + TimeValue("00:00:01")
ttt = Now + TimeValue("00:00:01")
Application.OnTime ttt, "呼叫F9键"
'Application.OnTime TimeValue(Now()) + TimeValue("00:00:01"), "呼叫F9键"
End Sub
Sub 定时结束()
On Error Resume Next
Application.OnTime ttt, "呼叫F9键", , False '定时开始
DoEvents
End Sub
使用时,先点击第1个“定时开始”,F9就一直在运行,然后使用第二个按钮“结束F9”
全部回答
- 1楼网友:棉花糖味的小仙女
- 2021-12-16 15:15
在 office 里有个方法是 application.ontime ,具体函数如下: expression.ontime(earliesttime, procedure, latesttime, schedule) 如果想进一步了解,请参阅 excel 的帮助。 这个函数是用来安排一个过程在将来的特定时间运行,(可为某个日期的指定时间,也可为指定的时间段之后)。通过这个函数我们就可以在 excel 里编写自己的定时程序了。下面就举两个例子来说明它。 1.在下午 17:00:00 的时候显示一个对话框。 sub run_it() application.ontime timevalue("17:00:00"), "show_my_msg" '设置定时器在 17:00:00 激活,激活后运行 show_my_msg 。 end sub sub show_my_msg() msg = msgbox("现在是 17:00:00 !", vbinformation, "自定义信息") end sub 2.模仿 excel 97 里的 "自动保存宏",在这里定时 5 秒出现一次 sub auto_open() msgbox "欢迎你,在这篇文档里,每 5 秒出现一次保存的提示!", vbinformation, "请注意!" call runtimer '打开文档时自动运行 end sub sub runtimer() application.ontime now + timevalue("00:00:05"), "saveit" ' now + timevalue("00:15:00") 指定在当前时间过 5 秒钟开始运行 saveit 这个过程。 end sub sub saveit() msg = msgbox("朋友,你已经工作很久了,现在就存盘吗?" & chr(13) _ & "选择是:立刻存盘" & chr(13) _ & "选择否:暂不存盘" & chr(13) _ & "选择取消:不再出现这个提示", vbyesnocancel + 64, "休息一会吧!") '提示用户保存当前活动文档。 if msg = vbyes then activeworkbook.save else if msg = vbcancel then exit sub call runtimer '如果用户没有选择取消就再次调用 runtimer end sub 以上只是两个简单的例子,有兴趣的话,可以利用 application.ontime 这个函数写出更多更有用的定时程序。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯