【发布时间】:2023-03-24 09:26:01
【问题描述】:
我是 VBA 新手,英语不是我的母语,所以就这样吧。
如果该行中的单元格 C 在列 C 中有重复值,并且如果列 O 中有一个等于 0 的单元格,但如果列中的单元格C 没有类似的值,不要将条件格式应用于该单元格(即使 O 列中的单元格的值为 0)。
注意:在 C 列中具有相同值的单元格将始终在彼此上方和下方,例如可能 C1=C2=C3 而不是 C1C2, C1=C3
我知道我没有解释清楚,所以如果您想了解更多信息,请告诉我。
更新(更多信息):我可能有 3 行或更多行具有相同的 C 列值上下,并且 O 列中的零值将始终是底行。
示例: 如果 C1=C2=C3=C4=C5 和 O5=0 ,行 1 2 3 4 5 变为绿色。 我更喜欢使用条件格式,即使它需要 vba 代码,所以我不必每次在 O 列中有新的 0 时都运行它。
我使用过这段代码,但它不起作用(显然),但可能与我的问题有点不同,因为真实数据比我说明的更复杂。我的数据表从第 4 行开始(第 3 行的标题)。此代码仅格式化 1 行(在具有零列 O 值的行之上),我需要的是格式化具有相同列 C 值的所有行。请记住,我是 vba 的新手 :(
With Range("A4:r8000").FormatConditions.Add( _
Type:=xlExpression, _
Formula1:="=AND($C4=$C5,$O5=0,$F4<>0)")
.Interior.Color = 13551615
.Font.Color = -16383844
End With
【问题讨论】:
-
我使用这段代码,但可能与我的问题有点不同,因为真实数据比我说明的要复杂。我的数据表从第 4 行开始(第 3 行的标题)。此代码仅格式化 1 行(在具有零列 O 值的行之上),我需要的是格式化具有相同列 C 值的所有行。请记住,我是 vba 的新手 :( With Range("A4:r8000").FormatConditions.Add( _ Type:=xlExpression, _ Formula1:="=AND($C4=$C5,$O5 =0,$F40)") .Interior.Color = 13551615 .Font.Color = -16383844 结尾
-
您能否格式化代码并将其放在原始问题正文中以使其更易于阅读(并且更容易帮助您)? Stack Overflow 有帮助格式化指南。
-
好的,请查看
标签: vba excel conditional