昨天我分析了 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 中的标准模块。
- 一旦您激活(用鼠标单击工作表选项卡)代码,它就会突出显示工作表中使用的范围的每一列中的最大值和最小值。
- 根据需要调整背景颜色。