excel学习库

excel表格_excel函数公式大全_execl从入门到精通

利用VBA,完成自动运行任务

分享成果,随喜正能量】愚昧的人,常感到环境待他不公平,认为怀才不遇;聪明的人,常发现环境时时考验他,可以创造未来。

在实际工作中要利用好VBA

这一专题,我们讲解利用VBA来预设某个任务自动运行。这讲的内容在VBA中也是比较有用的,可以完成诸如动画的效果,以及各种自己期望的任务在某个时间自动运行。我们主要是利用Application.OnTime来完成这种设置。

OnTime与Application.Wait方法非常相似,使用这两种方法,可以设计在特定时间运行某项任务(过程)。OnTime和Wait的一个主要区别是,对于Wait方法,Excel的操作将被挂起,但OnTime不会冻结你的计算机。运行OnTime语句后,可以继续使用Excel工作簿。

1 Application.OnTime 方法介绍

语法: Application.OnTime(EarliestTime, Procedure, LatestTime, Schedule)

参数:

1) EarliestTime 必需 Variant 希望此过程运行的时间。有时 Excel 可能会在"最早时间"时忙于其他任务(例如任何宏正在运行)。一旦 Excel 准备好,程序将立即启动。

2) Procedure 必需 String 要运行的过程名。

3) LatestTime 可选 Variant 可以运行相应过程的最后时间。例如,如果将LatestTime设置为EarliestTime + 30, 并且 Microsoft Excel 在EarliestTime上未准备就绪、复制、剪切或查找模式, 因为另一个过程正在运行, 所以 Excel 将在第一个过程中等待30秒以完成第一个过程。如果 Excel 在30秒内未处于就绪模式, 则不会运行该过程。 如果省略此参数, Excel 将一直等待, 直到可以运行该过程。这个参数可以视为如果当前时间超过此时间,则程序将无法运行。

4)Schedule 可选 Variant 如果为True,则安排新的OnTime过程。 如果为 False,则清除以前设置的过程。默认值为True。

2 预设某个过程(宏)在15秒后运行

我们先用Application.OnTime方法来完成一个简单的预设:在用户点击按钮后15秒提示用户。我们先来看我给出的代码:

Sub mynzA()

Application.OnTime Now + TimeValue("00:00:15"), "mynz"

End Sub

Sub mynz()

MsgBox "您点击按钮后已经过去了15秒"

End Sub

代码的截图:

代码讲解:

Application.OnTime Now + TimeValue("00:00:15"), "mynz" 这句代码中“Now + TimeValue("00:00:15")”是指从现在开始到15秒后开始执行某个程序,执行什么程序呢?就是"mynz" 。

下面是代码的运行结果,当然代码是在点击后15秒出现的:

<待续>

本讲内容参考程序文件:应用008.xlsm

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

分享成果,随喜正能量】谣言不是张口无意,而是内心黑暗的反射。俗话说:“人受恶意之作弄,必作恶以回报。” ,所以,应戒之。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接