我试图突出显示每行数据的最大值,以确定它落入的年份。是否有一种简单的方法将其应用于整个电子表格?我现在能够做到的唯一方法就是在每一行上使用Format Painter ...这对800多行数据效率不高。
使用条件格式 - 前N项
答案 0 :(得分:0)
以下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
我假设表格的第一行是标题,因此您会看到iRow
从2开始计算。
答案 1 :(得分:0)
这是一个很小的宏 - 您需要将其复制到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