我正在使用 VBA 代码放置条件格式以覆盖大表中的值,每个单元格使用 2 个公式来确定要使用的 3 个符号中的哪一个。我需要根据列用不同的单元格检查每个单元格的值,因此据我所知,我必须将条件格式规则分别放在每个单元格上,以确保每个单元格中的公式正确。这是因为条件格式不能采用相对地址,你必须给它每个单元格的确切地址......对吗?
大量的条件格式实例在很大程度上降低了我的计算机速度。
是否可以在不使用条件格式的情况下将条件格式使用的符号放入单元格中?
可能有点像图像,但同时保留下面的单元格值,可以使用条件格式来完成。
下面我给出了用于放置条件格式的代码。很感谢任何形式的帮助!!
Dim AIs As Range
Dim rng As Range
Dim cl As Range
Set AIs = ActiveSheet.Range("Table")
For Each cl In AIs.Columns
For Each rng In cl.Cells
rng.FormatConditions.AddIconSetCondition
rng.FormatConditions(rng.FormatConditions.Count).SetFirstPriority
With rng.FormatConditions(1)
.ReverseOrder = False
.ShowIconOnly = True
.IconSet = ActiveWorkbook.IconSets(xl3Symbols2)
End With
With rng.FormatConditions(1).IconCriteria(1)
.Icon = xlIconYellowExclamationSymbol
End With
With rng.FormatConditions(1).IconCriteria(2)
.Icon = xlIconRedCross
.Type = xlConditionValueFormula
.Value = "=IF(VALUE(LEFT(" & rng.Parent.Cells(5, rng.Column).Address & _
";1)=0;1;6)"
.Operator = 7
End With
With rng.FormatConditions(1).IconCriteria(3)
.Icon = xlIconGreenCheck
.Type = xlConditionValueFormula
.Value = "=IF(VALUE(LEFT(" & rng.Address & ";1))<=VALUE(LEFT(" & _
rng.Parent.Cells(5, rng.Column).Address & ";1));1;6)"
.Operator = 7
End With
Next rng
Next cl