VBA和案例,根据范围内的值分配值
我有学生的成绩和熟练程度 例如,对于五年级,有四个熟练程度等级。这四个级别的熟练程度与字母表中的字母相对应,因此如果一个五年级学生的字母作业是B,那么他的熟练程度将是“低于熟练程度”,因为a到R中的任何字母都会达到“低于熟练程度”,我想知道如何处理案例 我对代码的大致想法如下:VBA和案例,根据范围内的值分配值,vba,excel,Vba,Excel,我有学生的成绩和熟练程度 例如,对于五年级,有四个熟练程度等级。这四个级别的熟练程度与字母表中的字母相对应,因此如果一个五年级学生的字母作业是B,那么他的熟练程度将是“低于熟练程度”,因为a到R中的任何字母都会达到“低于熟练程度”,我想知道如何处理案例 我对代码的大致想法如下: Function ConvertScores(Grade, Letter_Score) Select Case ConvertScore(5, like "[A-R]") Case ConvertScore(5,
Function ConvertScores(Grade, Letter_Score)
Select Case ConvertScore(5, like "[A-R]")
Case ConvertScore(5, like"
ConvertScores = "F & P Remedial"
Case 2
ConvertScores = "F & P Below Proficient"
Case 3
ConvertScores = "F & P Proficient"
Case 4
ConvertScores = "F & P Advanced"
End Function
是的,我希望VBA有一个列表对象,VBA中的列表对象是什么
编辑:我可以用多个If语句来实现,但在我看来,cases是一种更好的方式
这是我的代码,我想用它来处理案例,而不是多个if-thens
Function ConvertScoresMOY(Grade, Letter_Score) As String
If Grade = "5" And Letter_Score Like "[A-R]" Then
ConvertScoresMOY = "F & P Remedial"
ElseIf Grade = "5" And Letter_Score Like "[S-T]" Then
ConvertScoresMOY = "F & P Below Proficient"
ElseIf Grade = "5" And Letter_Score Like "[U-V]" Then
ConvertScoresMOY = "F & P Proficient"
ElseIf Grade = "5" And Letter_Score Like "[W-Z]" Then
ConvertScoresMOY = "F & P Advanced"
Else:
End If
End Function
让我们从在一个简单条件中插入所有条件开始:
If Grade = "5" Then
End If
然后您可以使用开关盒:
Select Case Letter_Score
Case Letter_Score Like "[A-R]"
ConvertScoresMOY = "F & P Remedial"
Case val Letter_Score Like "[S-T]"
ConvertScoresMOY = "F & P Below Proficient"
End Select
您可以在另一个工作表中创建词典,然后使用VLOOKUP()函数搜索第一列上的值,并获取第二列上的值。什么是
ConvertScore
,它没有声明?你对应该映射到什么的描述让我有点困惑。。。你能再解释一下吗?如果您的代码有缺陷,您应该花一分钟来更正此问题…请查看我的最新编辑。要回答您的子问题,您正在查找的列表对象称为脚本字典(启用“Microsoft脚本运行时”参考)。谢谢,但我“我不熟悉SWITCH,正在查看它的工作原理。你能举个例子吗?最好的答案!非常感谢!:)