VBA经典代码拿来即用17用Excel

上一节我们学习了用Excel来实现计电子时钟的效果

虽然看起来很不错,但是很多的小伙伴就觉得有点不实用

日常工作中,计时器用处不大,倒计时反而用处更多一些,那么我们今天就来实现倒计时的功能

来看看案例

这是我们最终要实现的效果,试试很多花样呢

其实代码也没有什么难度,基本上还是延续上节我们学过的application.ontime方法

代码区

OptionExplicit

PrivatemdteTimeAsDate

PrivateConstsdateAsDate=#10/1/#

PrivateConststimeAsDate=#12:00:00AM#

Subks()

Calljs

EndSub

Subjs()

DimintNumAsInteger

DimdteNowTimeAsDate,dteTimeAsDate

dteNowTime=Now()

IfdteNowTime=sdate+stimeThen

ActiveSheet.Range(B10:B11).Value=0

MsgBox时间到!,vbExclamation

ExitSub

EndIf

IfTimeValue(dteNowTime)sdate+stimeThenintNum=1

WithActiveSheet

.Range(B10).Value=sdate-Date-intNum

dteTime=stime-TimeValue(dteNowTime)+_

intNum*

.Range(B11).Value=Hour(dteTime)

.Range(B12).Value=Minute(dteTime)

.Range(B13).Value=Second(dteTime)

EndWith

mdteTime=dteNowTime+TimeValue(0:0:1)

Application.OnTimemdteTime,js

EndSub

SubStops()

OnErrorResumeNext

Application.OnTimemdteTime,js,,False

EndSub

今天的代码稍微有点长,但是也算是即用类型,拿来即用的范畴了。

这里大家可能会比较陌生的就是

PrivateConstsdateAsDate=#10/1/#PrivateConststimeAsDate=#12:00:00AM#

这两段代码,是一个全局变量的意思,就是不管代码执行到哪里,这两个变量一直都是这样两个常量。

代码计算的核心部分在这里,主要是获取两个起始时间之间的差异的

然后借助时间函数hour等,就可以得到相差的小时分钟了。

主要还是我们上节学习的application.ontime方法的使用




转载请注明:http://www.aierlanlan.com/rzfs/1482.html