hh:mm:ss格式导致IF语句返回False

时间:2017-03-07 14:57:22

标签: excel vba if-statement time

以下IF语句不会返回true。我也尝试了一个公式,问题似乎是hh:mm:ss格式化。尽管列F中的单元格值为" 00:15:00"它将永远不会返回true,因此G中的单元格值变为"自动关闭"。

总是任何帮助都非常感激。

    Columns("F").NumberFormat = "hh:mm:ss"
    If Range("F" & i).Value = "00:15:00" Then Range("G" & i).Value = "Auto close"

1 个答案:

答案 0 :(得分:0)

这是因为Columns("F").NumberFormat = "hh:mm:ss"行仅更改了范围内单元格的格式,而不是值的格式。因此,即使该单元格在工作表中显示了00:15:00的值,当您将其与VBA中的00:15:00进行比较时,它也会返回FALSE,因为它实际上是在比较{ {1}}到您指定的Long字符串中。