Excel 是否有自动设置值背景颜色的功能?

Excel 是否有自动设置值背景颜色的功能?

昨天我分析了 Torque 的一个文件,Torque 是一款记录汽车和摩托车数据的应用程序。它包含 RPM、速度、加速度、油门位置等数据。

为了获得更好的概览,我计算了每列的最小值和最大值。然后我将所有超过 9,000 的 RPM 值设置为深红色,7,000 以上设置为浅红色,1,500 以下设置为灰色。我对大多数列都这样做了,而且是手动完成的。

Excel 是否包含自动执行此操作的函数。我不想输入最小值和最大值,或者说红色应该代表 8,000 到 9,000 的值或类似的东西。我的想法是,这样的函数可以检测最小值和最大值以及它们在工作表中的频率。然后,即前 10% 的值应该是一种颜色,并且与其他值相似。基本上,我想单击一个按钮,然后我希望所有列都有有用的颜色。

Excel 中是否存在这样的功能或者作为附加组件?

答案1

此 VBA(宏)代码将帮助您自动突出显示活动工作表中的最大值和最小值。

代码不会使用硬编码数据范围,而是循环遍历所使用的所有列并调整它们以具有不同的长度。

另外,我假设活动工作表中有标题。

Private Sub Worksheet_Activate()
Dim Myrng As Range
Dim rng As Range
Dim lCol As Long
Dim lLastRow As Long

ActiveSheet.Cells.Interior.ColorIndex = xlColorIndexNone

  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 Myrng In rng

       If Myrng.value = Application.WorksheetFunction.Max(rng) Then
        Myrng.Interior.ColorIndex = 6
       End If

       If Myrng.value = Application.WorksheetFunction.Min(rng) Then
        Myrng.Interior.ColorIndex = 10
       End If

      Next
    Next lCol
  End With

End Sub

怎么运行的:

  • 将此 VBA 代码复制并粘贴为 Sheet 中的标准模块。
  • 一旦您激活(用鼠标单击工作表选项卡)代码,它就会突出显示工作表中使用的范围的每一列中的最大值和最小值。
  • 根据需要调整背景颜色。

相关内容