📜  VBA切换语句

📅  最后修改于: 2021-01-11 14:13:20             🧑  作者: Mango

切换语句

要根据Expression的值执行一组语句,则使用Switch Case。在此,每个值称为案例,并且根据案例将变量切换为ON。如果测试表达式与用户指定的任何Case不匹配,则执行其他语句case。

Case Else是选定Case中的可选语句。但是,始终使用Case Else语句是一种好的编程习惯。

句法:

Select Case expression
   Case expressionlist1
      Statement 1
      Statement 2
      .................
      .................
      Statement n
   Case expressionlist2
      Statement 1
      Statement 2
      .................
      .................
      Statement n
   Case expressionlistn
      Statement 1
      Statement 2
      .................
      .................
      Statement n
   Case Else
      Elsestatement 1
      Elsestatement 2
      ....
      ....
End Select

流程图

让我们借助一个函数找到整数的类型。

Private Sub switch_demo_Click ()
Dim MyVar As Integer
MyVar = 1
Select Case MyVar
Case 1
MsgBox "A number is the least composite number"
Case 2
MsgBox "A number is the only even prime number"
Case 3
MsgBox "A number is the least odd prime number"
Case Else 
MsgBox "unknown number"
End Select
End Sub 

之后,执行上面的代码,您将获得如下输出:

The number is the least composite number 

让我们看一下switch语句的更多示例,例如

例如,您要使用switch语句创建一个自定义函数(UDF)。

它可以像任何常规工作表函数一样使用,它将返回学生的成绩。

用于创建自定义公式的代码如下:

Function GetGrade(StudentMarks As Integer)
Dim FinalGrade As String

Select Case StudentMarks

Case Is < 33
FinalGrade = "F"

Case 33 To 50
FinalGrade = "E"

Case 51 To 60
FinalGrade = "D"

Case 61 To 70
FinalGrade = "C"

Case 71 To 90
FinalGrade = "B"

Case Else
FinalGrade = "A"

End Select
GetGrade = FinalGrade

End Function

现在,您可以在工作表中使用函数GetGrade,如以下屏幕截图所示,例如: