前言
一张表格,密密码码的分数,千篇一律的颜色,不能一眼看出哪些同学的单科成绩高于或低于平均值。如果把不同分数值字体颜色改变,那是否看得更直观呢。
现在就仿照股票价格,股价低于开盘价为绿色、高于开盘价为红色的方式,计算学生成绩单科的平均值,低于平均分的为绿色,高于平均分的为红色,等于平均分的为蓝色。如果有兴趣的话,还可以修改代码,将单科前几名或总分前几名改变背景色等,或者按总分倒序排列,更能突出成绩好坏。
一、效果截图:
二、代码如下:
Sub AverageNumber()
Dim arr() As Double
Dim sumb As Double
Dim RowsCount As Integer
RowsCount = Sheets("学生成绩表").[B1].End(xlDown).Row
ReDim arr(RowsCount - 2)
For j = 3 To 5
For i = 2 To RowsCount
arr(i - 2) = Sheets("学生成绩表").Cells(i, j).Value
Next
AverageNumb = Application.Average(arr)
Sheets("学生成绩表").Cells(RowsCount + 1, j) = AverageNumb
For i = 2 To RowsCount
If Sheets("学生成绩表").Cells(i, j).Value > AverageNumb Then
Sheets("学生成绩表").Cells(i, j).Font.ColorIndex = 3 '高于平均分为红色
ElseIf Sheets("学生成绩表").Cells(i, j).Value < AverageNumb Then
Sheets("学生成绩表").Cells(i, j).Font.ColorIndex = 4 '低于平均分为绿色
Else
Sheets("学生成绩表").Cells(i, j).Font.ColorIndex = 5 '等于平均分为蓝色
End If
Next
Next
End Sub