Excel VBA Select Case结构

人生经常要面临“多选一”的情况,在编写程序代码时也是如此 。在上篇文章中,我们讲解了使用If-Then结构来进行判断,也举了很多个小例子 。我们看到,随着条件的增多,代码的结构也变得复杂或难以理解 。幸运的是,VBA为我们提供了Select Case结构,让我们根据多个条件判断选择时,能够写出容易理解的代码 。
上篇文章的结尾举了一个例子:按照一定的规则,根据员工的工龄来确定员工的年休假天数:
工龄(年)年休假天数10年及以下510~201020~251525年以上20现在,我们使用Select Case结构来编写代码,实现相同的功能 。首先看看示例代码:
示例代码1
Sub NianXiuTianWithSelectCase()
‘声明变量,用来表示年休天数和工龄
Dim lngDays As Long
Dim lngYears As Long
lngYears = Range(“A1”).Value
‘根据工龄确定相应的年休天数
Select Case lngYears
Case 0 To 10
lngDays = 5
Case 10 To 20
lngDays = 10
Case 20 To 25
lngDays = 15
Case Is > 25
lngDays = 20
End Select
MsgBox “工龄:” &lngYears & vbCrLf & “年休天数:” &lngDays
End Sub
同样,您可以在工作表单元格A1中输入代表工龄的数字,运行代码后,会显示相应的年休天数,就像在上篇文章中所示的图一样 。
与上篇文章中的代码相比,既简单又易理解 。
Select Case结构的语法如下:
Select Case

    推荐阅读