如果突出显示另一个单元格,则 VBA 突出显示单元格

时间:2021-06-13 19:18:45

标签: excel

需要一些格式方面的帮助。我认为实现我想要的唯一方法是使用 vba 格式。

让我先解释一下电子表格在做什么,以便您理解:

在单元格 B5:E5 中,用户输入基于不同机器人手位置的值

单元格 B5 是输入的第一个值,将单元格 C5:E5 与 B5 进行比较

单元格 I5 计算 C5:E5 与 B5 相比的总偏差

如果总偏差大于 30,I5 变为红色,并且在单元格 C5:E5 中,与 B5 相比的最低和最高值以黄色突出显示

在 R 列中,通过将值乘以 0.01 来转换 B5:E5 中输入的值 [这是值在我们的 GUI 上的显示方式]

这是我想要做的:

如果 I5 大于 30,单元格 C5:E5 中的最高和最低值会以黄色突出显示 [已完成]

我还想做的是突出显示 R 列中的相应值

在下面的示例中,由于 I5 大于 30,因此 C5 和 E5 与 B5 相比是最高和最低值,并以黄色突出显示。

我怎样才能突出显示 R9 和 R17 黄色中的值以与 C5 和 E5 中突出显示的值相关联?

请记住,只有当 I5 大于 30 时才会发生这种情况。

enter image description here

1 个答案:

答案 0 :(得分:0)

检查这是否符合您的标准。

我假设 R 列中的值与 Range C5:E5 具有相同的逻辑,即 61 将是 B5:E5 和 R4:R17 的最大值(因此 R 列不能有值例如 71)。我添加了一个条件 (ISNUMBER(SEARCH("X Axis"),仅当 Q 列包含“X 轴”一词时才适用,因为我认为您可能希望对 Z 轴使用另一种颜色/模式。请注意使用 $ 符号的位置。

如果 Q 列包含“X 轴”,则为最大值。 (蓝色):

=IF(AND($I$5>30,$I$5<>"",ISNUMBER(SEARCH("X Axis",$Q4))),$R4=MIN($R$4:$R$18))

最小值(如果 Q 列包含“X 轴”)。 (绿色):

=IF(AND($I$5>30,$I$5<>"",ISNUMBER(SEARCH("X Axis",$Q4))),$R4=MAX($R$4:$R$18))

enter image description here

我使用的范围是:

enter image description here