在日常工作中,经常会有一些倒计时的应用,例如常见的距高考还有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格式。
再次打开文件时,如果出现如图 所示的安全警告,记得要点击【启用内容】按钮哦。
图文制作:祝洪忠
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。