如何在EXCEL中设置小时倒计时

比如我在EXCEL文档中输入1:20(单位是分),下一分钟显示1:19,再下一分钟显示1:18,不用动态的,只要能实现这个功能就可以了,我想设置这样一个倒计时函数。

    按alt+F11键,打开VBA窗口,双击sheet1,将下方的代码复制到打开的窗口中;

    Sub å€’计时()
            [a1].NumberFormatLocal = "h:mm:ss;@"
            [a1] = [a1] - 1 / 3600 / 24
        If [a1] < 1 / 60 / 24 Then
            [a1].Font.ColorIndex = 3
        Else
            [a1].Font.ColorIndex = 5
        End If
        If [a1] > 0 Then
             Application.OnTime Time + TimeSerial(0, 0, 1), "sheet1.倒计时", , True
        Else
            [a1] = "00:00:00"
        End If
    End Sub

    在A1单元格输入倒计时开始的小时数,如3个小时“3:00”格式自定;

    点击“开发工具”-“插入”-“表单控价”,插入一个按钮,打上想要的文字;

    在按钮上右键,指定宏,选择刚才编辑的宏,确定,

    点击按钮,就开始计时了,低于1分钟后,字体会变成红色。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-20
A1 输入 2008-8-8 8:8:8
A2 输入 =NOW()
A3 输入 =A1-A2
A4 输入:
=INT(A3)&"天"&TEXT(A3-INT(A3),"h时m分s秒")
A4 便是倒计时

如要倒计时每秒运行, 便要执行宏, VBA代码:
Sub Olympic()
ActiveSheet.Calculate
Application.OnTime Now + TimeValue("00:00:01"), "Olympic"
End Sub

如需停止倒计时, 要另多写一个宏
第2个回答  2013-11-20
Sub 倒计时()
[a1].NumberFormatLocal = "h:mm:ss;@"
[a1] = [a1] - 1 / 3600 / 24 '减去1秒
If [a1] < 1 / 60 / 24 Then
[a1].Font.ColorIndex = 3 '小于1分钟,红色显示
Else
[a1].Font.ColorIndex = 5 '否则蓝色显示
End If
If [a1] > 0 Then
Application.OnTime Time + TimeSerial(0, 0, 1), "sheet1.倒计时", , True
'每过一秒调用本程序一次
Else
[a1] = "00:00:00"
End If
End Sub

ALT+F11,双击右边sheet1后粘贴代码。
最好建一命令按钮,单击开始运行Sheet1.倒计时。

Private Sub CommandButton1_Click()
Sheet1.倒计时
End Sub本回答被网友采纳
第3个回答  2013-11-20
你可以试试“几何画板”,很好用
相似回答