使用公式更改单元格中的字体颜色

使用公式更改单元格中的字体颜色

我有一个供一群人使用的电子表格。其用途是让服务管理员每周为服务技术人员规划运行。

他们输入每项工作以及旅行和任务的预计时间(以分钟为单位),然后将其转换为小数,=SUM(D11:K11)/1440 再格式化为时间。

总行程时间&任务时间加在一起=(SUM(B12,C13,B11))显示为(00:00:00)。

然后我使用条件格式来绿色的如果少于 7 小时或红色的如果超过7个小时Cell Value < 0.29167

技术人员完成工作后,这些步骤就会在下面的行中重复,并添加“实际”时间。

用实际总小时数减去预计总小时数,得出差值=E16-E13,如果是负数,则表示提前完成,因此需要条件格式化为绿色的如果结果是肯定的,那么他们就落后了,格式为红色的

最终,我的问题是,当添加新的运行时,这意味着所有条件格式都会混乱,需要重新应用。是否可以将公式包装在 IF 语句中以完全绕过条件格式来更改其颜色?如果不能,那么解决这个问题的最佳方法是什么?

编辑

在这张图片中你可以看到,Jevan 预计在 7 小时内完成比赛,比原计划少 5 分钟,因为他被困在交通中,最终他加班了 31 分钟,比原计划晚了 35 分钟。

电子表格测试

答案1

您可以将此 VBA 宏用作标准模块。

Sub TestFormulas()

   For Each cell In Range("C1:C15")
     If cell.HasFormula = True Then

      If cell.Value = 3 Then
       cell.Font.Color = vbGreen
      ElseIf cell.Value >= 0.33 Then
       cell.Font.Color = vbRed
      End If
     End If

   Next
End Sub

注意:

  • 将工作簿保存为启用宏。
  • 您可以根据需要调整测试值和单元格引用。

答案2

两件事情:

  • 无法使用工作表公式来解决条件格式。
  • 条件格式在插入行时正确应用格式存在一些已知问题。

您可能需要借助 VBA 来应用固定格式或在添加新数据后重新应用 CF 规则。

您可以使用常规数字格式以不同的颜色显示正数和负数,但这只是字体颜色,而不是单元格填充。

您可能还需要考虑将数据输入与报告(着色)方面分开。如果您的报告在单独的工作表上,使用数据输入表中的数据,您可能不会遇到这些问题。

相关内容