繁体   English   中英

如何根据另一个像元值​​VBA突出显示一个像元?

[英]How to highlight a cell based on another cells value VBA?

之前曾有人问过这个问题,但我以另一种方式去做。 我试图突出显示一个单元格,如果它大于另一个单元格的值。

这是我的代码:

Sub Error_Search()

Dim Summary As Worksheet
Dim lr As Long
Set Summary = Worksheets("Summary")


            lr = Cells(Rows.Count, 20).End(xlUp).Row

    With Summary

            For i = lr To 3 Step -1

            If Range("L" & i).Value > Range("$Q$2:$R$3").Value Then Range("L" & i).Font.Color = -16776961

            Next i

    End With

End Sub

Range(“ $ Q $ 2:$ R $ 3”)是一个合并的单元格,它是我要比较要突出显示的单元格的单元格。

我不断收到不匹配错误。

任何帮助将不胜感激。

谢谢,

G

如注释中所述,问题在于即使合并了单元格,多个单元格的Range也不具有单个Value :只要涉及的单元格超过一个, Range.Value生成2D变量数组。 因此,您可以仅通过引用合并范围的左上角单元格来修复该错误。

那个...

您不需要任何VBA代码即可执行此操作; 条件格式可以非常整洁地处理它。

条件格式公式:= $ C4> $ M $ 3

  =$C4>$M$3 

注意$符号: $M$3将是您合并的单元格(只有最左边的单元格很重要),而$C4只是您将条件格式定义为的第一个单元格; 保留非绝对行(即行号上没有$),可以通过指定“ 应用于范围”将格式应用于整个单元格范围:

$ D:$ L中$ C大于$ M $ 3的单元格突出显示

请注意,无论我们要查看的是$ M $ 3还是$ M $ 3:$ N $ 3合并的单元格,格式公式都是相同的。

条件格式的性能将比您可以编写的任何VBA代码都要好得多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM