在日常工作中,经常会有一些倒计时的应用,例如常见的距高考还有n天、距项目结束还有n天等。使用Excel中的日期函数结合强制刷新的VBA代码,就能制作出倒计时牌。
先来看效果:
接下来一起看看具体的操作步骤:
步骤1 假设假期结束日期为2022年9月14日0时,在C2单元格输入以下公式,得到剩余的整数天数。
=INT("2022-9-14"-NOW())&"天"
步骤2 设置D2单元格自定义格式为:
hh小时mm分ss秒
然后在D2单元格中输入以下公式:
="2022-9-14"-NOW()
虽然NOW函数属于易失性函数,但是如果在工作表中没有执行能够引发重新计算的操作,公式结果并不能自动实时刷新,因此需要添加定时刷新的VBA代码。
步骤3 按<Alt+F11>组合键打开VBE编辑器,依次单击【插入】→【模块】命令,在【工程资源管理器】中单击选中刚刚插入的“模块1”,在右侧的代码窗口中输入以下代码。
Sub Macro1()
Application.OnTime Now + TimeValue("00:00:01"),"Macro1"
Calculate
End Sub
Private Sub workbook_open()
Macro1
End Sub
代码中的”00:00:01″,表示刷新时间为1秒,实际使用时可根据需要设置。例如要设置刷新时间为1分钟,可将此部分修改为”00:01:00″。
步骤4 在【工程资源管理器】中单击选中“ThisWorkbook”,在右侧的代码窗口中输入以下代码,然后按F5键,即可在单元格中实现倒计时效果。
Private Sub workbook_open()
Call Macro1
End Sub
最后将文件保存为Excel启用宏的工作簿,即xlsm格式。
再次打开文件时,如果出现如图 所示的安全警告,记得要点击【启用内容】按钮哦。
制作完成之后,你就可以打开Excel,看着时间一点点的减少,对某个人的思念也越来越强烈……