使用VBA腳本實現Excel中的功能統計:
(1) 統計總分大於180分的學生人數
(2) 統計數學大於語文成績的人數
(3) 將各科成績 < 60 分的數據標記底色為紅色,字體加粗
學生編號 | 語文 | 數學 | 英文 |
---|---|---|---|
st1 | 66 | 95 | 55 |
st2 | 91 | 74 | 46 |
st3 | 96 | 97 | 32 |
st4 | 47 | 52 | 93 |
st5 | 34 | 41 | 53 |
st6 | 65 | 91 | 92 |
解:
(1)
Sub 宏1() Dim n&, i&, j&, arr, a&, b&, c& arr = ActiveSheet.UsedRange a = ActiveSheet.Rows(1).Find("語文").Column b = ActiveSheet.Rows(1).Find("數學").Column c = ActiveSheet.Rows(1).Find("英文").Column n = 0 For i = 2 To UBound(arr) j = Val(arr(i, a)) + Val(arr(i, b)) + Val(arr(i, c)) If j > 180 Then n = n + 1 End If Next MsgBox "總分大於180分的人數為:" & n End Sub
(2)
Sub 宏2() Dim n&, i&, arr, a&, b& arr = ActiveSheet.UsedRange a = ActiveSheet.Rows(1).Find("數學").Column b = ActiveSheet.Rows(1).Find("語文").Column n = 0 For i = 2 To UBound(arr) If Val(arr(i, a)) > Val(arr(i, b)) Then n = n + 1 End If Next MsgBox "數學成績大於語文的人數為:" & n End Sub
(3)
Sub 宏3() Dim t As Range Set t = ActiveSheet.UsedRange t.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, Formula1:="=60" t.FormatConditions(1).Font.Bold = True t.FormatConditions(1).Interior.ColorIndex = 3 MsgBox "格式修改完畢" End Sub