在Excel中,如何根据给定的到期日期时间,对比现在的日期时间,制作出精确到秒的倒计时?
如下图一样,A3自动显示现在的时间,而B3是我们自己输入的到期日期时间,现在要制作的精确到秒的倒计时的提示,就显示在C3单元格中。
在Excel操作窗口中,按下组合键 Alt+F11 ,弹出VBA窗口,然后,执行如下图的菜单操作:“插入”→“模块”。
弹出如下图的代码输入窗口。
按照上图的代码,照着输入就行。为方便大家的学习,文章的最后,会给出上图的完整代码。
上述代码输入成功之后,在窗口的左边右键点击“ThisWorkbook”,选择“查看代码”如下图。
在弹出的VBA代码窗口中,输入上图所需要的代码。
最后,关闭VBA窗口,返回Excel并保存文件,然后关闭Excel,之后再打开该Excel文件,效果就出来了。如下图。
知识扩展:
①图三的完整代码如下
Sub MyDateTime()
ss = DateDiff("s", Now, Trim(Sheet1.Cells(3, 2).Value))
dd = ss \ 86400
ss = ss - dd * 86400
hh = ss \ 3600
ss = ss - hh * 3600
mm = ss \ 60
ss = ss - mm * 60
Sheet1.Cells(3, 1).NumberFormatLocal = "yyyy-mm-dd hh:mm:ss"
Sheet1.Cells(3, 1).Value = Now
Sheet1.Cells(3, 3).Value = dd & "天" & hh & "小时" & mm & "分钟" & ss & "秒"
Application.OnTime Now + TimeValue("00:00:01"), "MyDateTime"
End Sub
上面的代码功能是:用于实现精确到秒的倒计时效果,可按日期时间的形式来计算。
②部分代码解释
Private Sub Workbook_Open()
Call MyDateTime
End Su
其中,Workbook_Open事件是Excel软件能够随文件打开而自动启动的宏。在里面添加Call MyDateTime宏的调用,就可以很好的完成精确到秒的倒计时效果。