Excel成绩表中自动将等级转换为分数 |
您所在的位置:网站首页 › 表格等级怎么自动生成的 › Excel成绩表中自动将等级转换为分数 |
在评分的时候,我们往往需要将A、B、C、......等级转换为对应的分数,下表是一个例子 做成绩册转换的时候我们要对比某学生的等级然后输入相应的分数,比如A等为90分,在分数栏中输入90。如果全部用手工转换很麻烦的,也可以用excel 的函数来解决,这里提供了一个用VBA实现自动转换分数的例子,扩展性很好。 首先我们建立两张表:成绩表(名称为Sheet1)和转换标准表(名称为standard),如下图所示 转换标准表中给出了等级对应的分数,根据情况可以设置为你想要的等级和分数
在工作簿底部的Sheet1上右键点击弹出对话框选择“查看代码” 打开VBA编辑器,在编辑器中的第一个下拉列表中选择Worksheet,在第二个下拉列表中选择BeforeDoubleClick(意思是双击会执行这段代码) 在程序Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)中输入下列代码: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) TotalNum = 20 '学生总数 StartNum = 2 '开始行号 GradeColumn = 5 '等级列 ScoreColumn = 6 '分数列,这列的分数将自动计算 StdGradeColumn = 1 'standard中的等级列 StdScoreColumn = 2 'standard中的等级对应的分数列 GradeNumber = 10 'standard中的等级个数,自己可以任意设置多个等级 For i = StartNum To TotalNum + StartNum - 1 Set std = Worksheets("Sheet1").Cells(i, GradeColumn) For j = 2 To GradeNumber + 1 SelectI = 1 Set Table = Worksheets("standard").Cells(j, StdGradeColumn) If StrComp(std.Value, Table.Value, 1) = 0 Then '比较文本 SelectI = j Exit For End If Next j Worksheets("Sheet1").Cells(i, ScoreColumn) = Worksheets("standard").Cells(SelectI, StdScoreColumn) Next i End Sub其中 TotalNum = 11 '学生总数 StartNum = 2 '开始行号 GradeColumn = 5 '等级列 ScoreColumn = 6 '分数列,这列的分数将自动计算 StdGradeColumn = 1 'standard中的等级列 StdScoreColumn = 2 'standard中的等级对应的分数列 GradeNumber = 10 'standard中的等级个数,自己可以任意设置多个等级 这些参数需要根据Sheet1和standard两个表单来设置 输入代码后如下图所示: 保存代码,然后在Sheet1表单中双击,则会自动计算出相应的分数,见下图
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |