【问题标题】:Live time stamp conditional formatting - Excel实时时间戳条件格式 - Excel
【发布时间】:2017-05-21 23:48:17
【问题描述】:

我需要在具有“实时”时间戳的单元格和具有静态时间的另一个单元格之间进行比较。我正在运行一个宏,它每 60 秒更新一次单元格时间。

如果实际时间超过静态时间 40 分钟以上,我想有条件地格式化单元格以更改颜色。

感谢您的帮助。

【问题讨论】:

  • 您在比较时间时遇到问题吗? 40 分钟代表 40/1440 的差异,因此减去时间并与该差异进行比较。

标签: excel vba timestamp conditional-formatting


【解决方案1】:

您可以在包含当前时间/日期的单元格中使用“=now()”函数,而不是运行宏,然后让另一个单元格显示静态时间单元格和当前时间单元格之间的差异。

那么,如果你的单元格包含时差是a1:

If Cells(1, 1) > 40 Then
    Range("A1").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End If

或标记的时差单元格中您想要的任何颜色。

【讨论】:

    【解决方案2】:

    假设您的静态时间(格式为时间)在 A3 中 而你的“直播”时间在 B3, 首先注意B3-A3会给你时间差。 时差是一天的百分比值。 所以假设 A3 是上午 11:18,B3 = 中午 12:00 B3-A3 = 0.031944,乘以 1440(一天中的分钟数)得出 46 分钟。

    所以应用条件格式如下

    1. 选择规则以根据公式说出格式
    2. =(B3-A3)*1440>40
    3. 选择格式
    4. 适用于您想要的单元格,例如 $b$3

    【讨论】:

    • "时间差是一天中百分比的值。"嗯不是真的。在Excel 中减去两个日期时间值时,时间差为一天的小数。 1 天 = 24 小时,1 小时 = 60 分钟,所以 1 天 = 24*60 = 1440 分钟,所以 1 分钟 = 1/1440 天。所以你的描述不是很好。但是你的计算是对的。 +1
    • 顺便说一句:您的计算(46 分钟到 12:00)是从上午 11:14 开始,而不是从上午 11:18 开始。
    猜你喜欢
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 2011-12-04
    • 2017-11-14
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    相关资源
    最近更新 更多