Excel VBA倒计时

Private myTime As Date
Private Const endTime As Date = #11/25/2021 2:00:00 PM#

Sub StartTimer()
    Call TimeOn
End Sub

Sub TimeOn()
    Dim deltaTime As Variant
    Dim days As Long, hours As Long, minutes As Long, seconds As Long
    myTime = Now()
    deltaTime = DateDiff("s", myTime, endTime)
    
    days = Fix(deltaTime / 86400)
    hours = Fix((deltaTime - 86400 * days) / 3600)
    minutes = Fix((deltaTime - days * 86400 - hours * 3600) / 60)
    seconds = deltaTime - days * 86400 - hours * 3600 - minutes * 60
    
    Range("A2") = days
    Range("B2") = hours
    Range("C2") = minutes
    Range("D2") = seconds
    
    Application.OnTime myTime + TimeValue("0:00:01"), "StartTimer"
    
End Sub
Sub KillTimer()
    On Error Resume Next
    Application.OnTime myTime + TimeValue("0:00:01"), "StartTimer", Schedule:=False
End Sub



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用 VBA 中的计时器函数 `Timer` 来实现倒计时。具体步骤如下: 1.在 Access 中打开需要实现倒计时的表单或报表,打开 VBA 编辑器。 2.在 VBA 编辑器中创建一个模块,并在模块中编写以下代码: ``` Option Compare Database Option Explicit Dim startTime As Double Dim endTime As Double Public Sub StartTimer() startTime = Timer End Sub Public Function GetElapsedTime() As String Dim elapsed As Double elapsed = Timer - startTime GetElapsedTime = Format(elapsed / 86400, "hh:mm:ss") End Function Public Function SetEndTime(hours As Integer, minutes As Integer, seconds As Integer) endTime = Timer + (hours * 3600) + (minutes * 60) + seconds End Function Public Function GetRemainingTime() As String Dim remaining As Double remaining = endTime - Timer If remaining > 0 Then GetRemainingTime = Format(remaining / 86400, "hh:mm:ss") Else GetRemainingTime = "00:00:00" End If End Function ``` 3.在表单或报表中创建一个文本框,并在其控件源中输入以下代码: ``` =GetElapsedTime() ``` 4.在需要开始倒计时的事件(如按钮点击事件)中调用 `StartTimer` 函数,如下所示: ``` Private Sub cmdStart_Click() StartTimer SetEndTime 0, 5, 0 ' 设置倒计时时间为 5 分钟 End Sub ``` 5.在表单或报表中创建另一个文本框,并在其控件源中输入以下代码: ``` =GetRemainingTime() ``` 这样,当点击按钮开始倒计时后,第一个文本框中将显示已经过去的时间,第二个文本框中将显示剩余时间。当倒计时结束时,第二个文本框将显示 "00:00:00"。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值