首页 > 解决方案 > 用户定义的函数给出错误“无效的限定符”

问题描述

studgrd表示学生成绩
mrk表示分数
res表示结果

Function studgrd(mrk As Long) As String   
Dim res As String    
res.Formula = "=if(mrk>=90,""A"",if(mrk>=70,""B"",if(mrk>=60,""C"",if(mrk>=50,""d"",""Fail""))))"    
studgrd = res    
End Function

标签: excelvba

解决方案


这看起来是一个尝试 VBA Switch 功能的好机会!

Function StudentGrade(mark As Long) As String
    StudentGrade = Switch(mark >= 90, "A", mark >= 70, "B", mark >= 60, "C", _
                          mark >= 50, "D", mark < 50, "Fail")
End Function

推荐阅读