我正在使用循环将条件格式放入"每隔4行"在"栏D"。但是,我无法正确获取代码。
我发生了两件事。首先,我已经将电子表格中的公式显示在" "围绕公式和条件格式不起作用。所以现在我尝试使用以下代码重写它,它告诉我编译错误预期语句结束。
我对如何获得D(i-1)>sum(D(i):D(i+2)
阴影细胞红色的条件格式的任何帮助表示赞赏。
这是我想要遮蔽的For / Next循环的中间位置。
Range("D" & (i - 1)).Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="D" & (i-1) & "> Sum(D" & i & "D" & (i + 2)")"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
i = i + 4
答案 0 :(得分:1)
这对我有用:
Sub Tester()
Dim i As Long, fc As FormatCondition
For i = 2 To 10 Step 4
Set fc = ActiveSheet.Range("D" & (i - 1)).FormatConditions. _
Add(Type:=xlExpression, _
Formula1:="=D" & (i - 1) & "> Sum(D" & i & ":D" & (i + 2) & ")")
fc.SetFirstPriority
With fc.Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
fc.StopIfTrue = False
Next i
End Sub
答案 1 :(得分:0)
是否要求在VBA中执行此操作?我问,因为通过常规的条件格式化,你也可以轻松地将它应用到每第4行。
为此,您只需要在条件格式中使用类似这样的公式:
=AND(MOD(ROW($D5),4)=0, $D5 > SUM($D$2:$D4))
MOD函数将行号除以4并检查余数是否为4。
这不是你要求的,但它可能会解决你的情况...