每行

时间:2015-06-15 17:41:35

标签: excel excel-2010 conditional-formatting

我试图突出显示每行数据的最大值,以确定它落入的年份。是否有一种简单的方法将其应用于整个电子表格?我现在能够做到的唯一方法就是在每一行上使用Format Painter ...这对800多行数据效率不高。

使用条件格式 - 前N项

2 个答案:

答案 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
相关问题