【发布时间】:2016-12-08 04:09:30
【问题描述】:
我正在尝试根据每个单元格分组左侧的列中的数字有条件地格式化一系列单元格。基本上,如果在第 13 行,每个单元格分组左侧的灰色列 = 0,那么我希望整个单元格分组在其右侧变为绿色,如果 = 15,则变为黄色,如果 = 25 变为红色。第 12 行是我的代码现在正在发生的事情,第 13 行是我希望它看起来的样子。我似乎无法让循环正确。
Sub Highlight3()
For i = 1 To ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
If Cells(i, 4) = "Highlight" Then
For j = 1 To 15
Range(Cells(i, j * 4 + 2), Cells(i + 1, j * 4 + 4)).Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$E$23 = 0"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.Color = rgbRed
End With
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$E$23= 15"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.Color = rgbGold
End With
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$E$23 = 25"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.Color = rgbGreen
End With
Next j
End If
Next i
End Sub
【问题讨论】:
-
您的公式锁定了指向单元格 E23 的链接。尝试删除
$标志,看看会发生什么。 -
这有帮助,但格式化本身仍然不起作用
标签: vba excel loops conditional-formatting