我正在尝试在 844 个不同的行上使用条件格式(绿色 - 黄色 - 红色刻度)来跟踪过去六年的保费量(年份是列)。这是每个卷列之间的棘手部分是项目数。我想将每一行格式化为优质数量,并保持项目数量不变。
此时,我通过按住 ctrl 然后选择条件格式来选择每个单独的高级卷单元格。
我正在尝试自动执行此操作,因此我不必为 844 行和未来的电子表格继续此过程。
我附上了一张工作表的图片供您参考。
任何帮助是极大的赞赏!!!
谢谢,
布拉德
我正在尝试在 844 个不同的行上使用条件格式(绿色 - 黄色 - 红色刻度)来跟踪过去六年的保费量(年份是列)。这是每个卷列之间的棘手部分是项目数。我想将每一行格式化为优质数量,并保持项目数量不变。
此时,我通过按住 ctrl 然后选择条件格式来选择每个单独的高级卷单元格。
我正在尝试自动执行此操作,因此我不必为 844 行和未来的电子表格继续此过程。
我附上了一张工作表的图片供您参考。
任何帮助是极大的赞赏!!!
谢谢,
布拉德
通过运行宏记录器,我得到了一些条件格式的基本代码。我用一个rng
变量替换了所有出现的选择,并将该rng
变量设置为子例程的参数,以便可以在循环中调用 Sub:
Sub SetRangeCF(rng As Excel.Range)
rng.FormatConditions.AddColorScale ColorScaleType:=3
rng.FormatConditions(rng.FormatConditions.Count).SetFirstPriority
rng.FormatConditions(1).ColorScaleCriteria(1).Type = _
xlConditionValueLowestValue
With rng.FormatConditions(1).ColorScaleCriteria(1).FormatColor
.Color = 8109667
.TintAndShade = 0
End With
rng.FormatConditions(1).ColorScaleCriteria(2).Type = _
xlConditionValuePercentile
rng.FormatConditions(1).ColorScaleCriteria(2).Value = 50
With rng.FormatConditions(1).ColorScaleCriteria(2).FormatColor
.Color = 8711167
.TintAndShade = 0
End With
rng.FormatConditions(1).ColorScaleCriteria(3).Type = _
xlConditionValueHighestValue
With rng.FormatConditions(1).ColorScaleCriteria(3).FormatColor
.Color = 7039480
.TintAndShade = 0
End With
End Sub
然后你在一个循环中调用上面的 sub,在这种情况下,对于任何在 A 列中有值的行调用一次。这假设条件格式从第 2 行开始,并且你在 A 列中有不间断的数据。如果没有,你d 必须调整这个循环代码:
Sub SetEachRow()
Dim ws As Excel.Worksheet
Dim LastRow As Long
Dim cell As Excel.Range
Set ws = ActiveSheet 'change as necessary
With ws
LastRow = .Range("A" & .Rows.Count).End(xlUp).Row
For Each cell In .Range("A1:A" & LastRow)http://stackoverflow.com/questions/10245638/excel-changes-conditional-formatting-formula?rq=1
cell.EntireRow.FormatConditions.Delete
SetRangeCF cell.EntireRow
Next cell
End With
End Sub
我不知道行数的限制是什么,但 1,000 行对我来说很好。