每行的条件格式
Conditional Formatting for every row
我试图突出显示每行数据中的最大值以确定它属于哪一年。有没有一种简单的方法可以将它应用于整个电子表格?我现在唯一能做到的方法是在每一行上使用格式刷……这对于 800 多行数据来说效率不高。
使用条件格式 - 前 N 个项目
以下 VBA 代码可以解决问题(更新版本):
Sub Mark_max_value_in_every_row()
Dim rngArea As Range
Set rngArea = ThisWorkbook.Sheets("Sheet1").UsedRange
Dim rngRow As Range
Dim iRow As Long
For iRow = 2 To rngArea.Rows.Count
Set rngRow = rngArea.Range(Cells(iRow, 1), Cells(iRow, rngArea.Columns.Count))
With rngRow.FormatConditions.AddTop10
.Rank = 1
.Interior.Color = 49407
End With
Next
End Sub
我假设您的 table 的第一行是 headers,因此您看到 iRow
从 2 开始计数。
这是一个小宏 - 您需要将它复制到 VBA 项目中的模块。到达那里后,将光标放在宏中并按 F5 :)
1) 它适用于从 1 到 800 的行(如果您在其他地方需要它,请更改它)
2) 它适用于 Sheet1
Sub ManyConditions()
Dim iRow As Integer
For iRow = 1 To 800
With Sheet1
With .Range(.Cells(iRow, 1), .Cells(iRow, 10)).FormatConditions.AddTop10
.TopBottom = xlTop10Top
.Rank = 1
.Percent = False
.Interior.PatternColorIndex = xlAutomatic
.Interior.Color = 13551615
.StopIfTrue = False
End With
End With
Next
End Sub
我试图突出显示每行数据中的最大值以确定它属于哪一年。有没有一种简单的方法可以将它应用于整个电子表格?我现在唯一能做到的方法是在每一行上使用格式刷……这对于 800 多行数据来说效率不高。
使用条件格式 - 前 N 个项目
以下 VBA 代码可以解决问题(更新版本):
Sub Mark_max_value_in_every_row()
Dim rngArea As Range
Set rngArea = ThisWorkbook.Sheets("Sheet1").UsedRange
Dim rngRow As Range
Dim iRow As Long
For iRow = 2 To rngArea.Rows.Count
Set rngRow = rngArea.Range(Cells(iRow, 1), Cells(iRow, rngArea.Columns.Count))
With rngRow.FormatConditions.AddTop10
.Rank = 1
.Interior.Color = 49407
End With
Next
End Sub
我假设您的 table 的第一行是 headers,因此您看到 iRow
从 2 开始计数。
这是一个小宏 - 您需要将它复制到 VBA 项目中的模块。到达那里后,将光标放在宏中并按 F5 :)
1) 它适用于从 1 到 800 的行(如果您在其他地方需要它,请更改它) 2) 它适用于 Sheet1
Sub ManyConditions()
Dim iRow As Integer
For iRow = 1 To 800
With Sheet1
With .Range(.Cells(iRow, 1), .Cells(iRow, 10)).FormatConditions.AddTop10
.TopBottom = xlTop10Top
.Rank = 1
.Percent = False
.Interior.PatternColorIndex = xlAutomatic
.Interior.Color = 13551615
.StopIfTrue = False
End With
End With
Next
End Sub