VBA和案例,根据范围内的值分配值

标签 vba excel

我有学生的成绩和熟练程度。

例如,对于五年级,有四个熟练程度。四个熟练程度对应字母表中的字母,所以如果一个五年级学生的字母分配为 B,那么他的熟练程度将是“低于熟练”,因为 A 到 R 中的任何字母都会得到“低于熟练”的水平“我想知道如何处理案件,

我对代码的粗略想法如下:

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 语句来做到这一点,但在我看来,案例会是一个更好的方法。

这是我想用于案例而不是多个 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

那么你可以使用SWITCH CASE:
 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

关于VBA和案例,根据范围内的值分配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14428757/

相关文章:

excel - 循环遍历单元格范围以检查它是否是数字(任何数字)

vba - VBA中的大循环崩溃

php - 使用 PHP 导入 .xlsx 文件

regex - 使用宏从 Microsoft Outlook 邮件中提取所有 IP 地址

excel - ActiveSheet 与 WorkSheet

excel - 查找与其他字符一起输入的特定字符串

excel - 两次关闭工作簿时的奇怪行为

c# - 在 telerik RadSpreadSheet 中,如何从单元格索引或选择中获取单元格名称?

excel - VBA Excel根据单元格值自动填充新工作表以增加单元格

vba - 如何使用宏删除 Word 文档中的所有文本?