vb中怎样计算平均分,怎么用vb计算平均值

首页 > 实用技巧 > 作者:YD1662023-11-03 12:59:23

在这篇文章中,我们将探讨如何使用VBA(Visual Basic for Applications)编写一个用于计算和显示成绩统计信息的程序。这个程序将帮助我们分析一组学生的成绩,并计算各个分数段的人数以及平均分、最高分和最低分。

首先,我们需要定义一些变量来存储我们的计算结果。这些变量包括:

接下来,我们使用On Error Resume Next语句来确保在遇到错误时程序不会中断。然后,我们获取数据表中的最后一行,以便我们可以遍历所有的成绩。

在For循环中,我们检查每一行的第二列(即成绩)是否为空。如果不为空,我们将根据成绩所在的分数段更新相应的变量。例如,如果成绩大于等于90分,我们将a1加1,并将成绩添加到总分a中。类似地,我们可以根据不同的分数段更新其他变量。

在循环结束后,我们将各个分数段的人数和总分分别显示在工作表的相应位置。此外,我们还计算了平均分、最高分和最低分,并将这些信息显示在工作表上。

最后,我们对数据表进行排序,以便我们可以快速地查看最高分和最低分。

总之,这个VBA程序可以帮助我们轻松地分析和展示学生的成绩统计信息。通过学习和实践这些代码,我们可以更好地理解如何使用VBA来解决实际问题。

Sub Score() Dim i As Long Dim rowt As Long Dim a, a1, a2, a3, a4, a5, a6, a7, a8 As Long On Error Resume Next rowt = Cells(1048576, 1).End(3).Row For i = 2 To rowt If Cells(i, 2) <> "" Then If Cells(i, 2) >= 90 Then a1 = a1 1 a = a Cells(i, 2) ElseIf Cells(i, 2) >= 80 Then a2 = a2 1 a = a Cells(i, 2) ElseIf Cells(i, 2) >= 70 Then a3 = a3 1 a = a Cells(i, 2) ElseIf Cells(i, 2) >= 60 Then a4 = a4 1 a = a Cells(i, 2) ElseIf Cells(i, 2) >= 50 Then a5 = a5 1 a = a Cells(i, 2) ElseIf Cells(i, 2) >= 40 Then a6 = a6 1 a = a Cells(i, 2) ElseIf Cells(i, 2) < 40 Then a7 = a7 1 a = a Cells(i, 2) End If Else a8 = a8 1 End If Next i Cells(2, 7) = a1 & "人" Cells(3, 7) = a2 & "人" Cells(4, 7) = a3 & "人" Cells(5, 7) = a4 & "人" Cells(6, 7) = a5 & "人" Cells(7, 7) = a6 & "人" Cells(8, 7) = a7 & "人" Cells(9, 7) = a8 & "人" Cells(2, 8) = "平均分: " & Round(a / (rowt - 1 - a8), 1) & vbCrLf & "最高分: " & WorksheetFunction.Max(Range("B2:B" & rowt)) & vbCrLf & "最低分: " & WorksheetFunction.Min(Range("B2:B" & rowt)) Range("A1:B" & rowt).Sort Key1:=Range("B1:B" & rowt), _ Order1:=xlDescending, Header:=xlNo Range("A1:B" & rowt).Select End Sub

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.