【发布时间】:2020-10-19 14:44:47
【问题描述】:
我正在尝试使用 VBA 为我的表格创建条件格式。 我在 C 列和 D 列中有数字。我需要条件格式来比较 C 列中的数字是否大于 D 列中的数字,并且同一行 D 列单元格不应为空白。如果是这种情况,C 列中的单元格将被着色为红色,但如果任一参数为 false,则不应应用格式条件。表格是动态的并且会改变它的大小。
Dim ws As Worksheet
Dim LastRow As Long
For Each ws In ActiveWorkbook.Sheets
If ws.Name = "Projects" Then
LastRow = ThisWorkbook.Worksheets("Projects").Range("C" & ThisWorkbook.Worksheets("Projects").rows.Count).End(xlUp).Row
With ws.Range("C2:C" & LastRow)
.FormatConditions.Add Type:=xlExpression, Formula1:="=$C$2>$D$2 & $D$2<>"""
.FormatConditions(.FormatConditions.Count).Interior.Color = RGB(255, 0, 0)
End With
End If
Next ws
到目前为止,这给了我一个错误: 无效的过程调用或参数。我在这里做错了什么。
【问题讨论】:
-
"=$C$2>$D$2 & $D$2<>"""无效。您正在尝试用&字符连接 2 个范围? -
录制一个宏来做你想让它做的事情,然后看看它为那个参数做了什么。
-
你想要
AND,而不是&。