对于每个列突出显示最大值(Excel)

Ste*_*fan 2 excel vba

我有一张Excel表格,每列中的值都来自单元格2:21

我需要使用最大值突出显示每列中的相应单元格,并尝试使用宏循环遍历它.但我只知道如何在给定的硬编码范围内进行此操作.

Private Sub Worksheet_Activate()
Dim zelle As Range
  For Each zelle In ActiveSheet.Range("B2:B21")
    If zelle.Value = Application.WorksheetFunction.Max(Range("B2:B21")) Then
      zelle.Interior.ColorIndex = 6
    Else
      zelle.Interior.ColorIndex = xlNone
    End If
  Next
End Sub
Run Code Online (Sandbox Code Playgroud)

我尝试使用一个新的列范围,我给了Range("B:IT")并迭代了那个但是没有用.

也许它只有2或3行?

Rac*_*ger 6

这可能对你有用.它不是使用硬编码范围,而是循环使用任何列,并调整具有不同"长度"的列.它假定一个标题行和列.

Private Sub Worksheet_Activate()
Dim zelle As Range
Dim rng As Range
Dim lCol As Long
Dim lLastRow As Long
  With ActiveSheet
    For lCol = 2 To .UsedRange.Columns.Count
      lLastRow = .Cells(.Rows.Count, lCol).End(xlUp).Row
      Set rng = .Range(.Cells(2, lCol), .Cells(lLastRow, lCol))
      For Each zelle In rng
        If zelle.Value = Application.WorksheetFunction.Max(rng) Then
          zelle.Interior.ColorIndex = 6
        Else
          zelle.Interior.ColorIndex = xlNone
        End If
      Next
    Next lCol
  End With
End Sub
Run Code Online (Sandbox Code Playgroud)