本文详细介绍了VisualBasic编程中的三种条件控制结构:If...Then...Else处理单个或多个条件,SelectCase用于快速比较单一值,以及IIf函数实现单行条件判断。通过实例展示了如何在代码中应用这些结构以实现逻辑控制。
摘要由CSDN通过智能技术生成
(1)If...Then...Else 结构
根据要求条件,使用
If...Then...Else
语句运行一个语句或者一个语句块,得到对应的值。
If...Then...Else 语法:
If '条件 Then
' 条件为真时执行的代码
' 条件为假时执行的代码
End If
Sub xx()
i = "look"
If i = "look" Then
s = 1
s = 2
End If
Debug.Print s
End Sub
#输出结果为1
当有多个条件的情况
如果同时满足两个及以上条件,条件之间可用And连接
If ‘条件1 And '条件2 Then
#后面还有条件就再加一个And
如果有两个及以上条件,只需满足其中一个即可,条件之间可用Or连接
If ‘条件1 Or '条件2 Then
#后面还有条件就再加一个Or
还可用 If...Then...ElseIf...Else 结构
If '条件1 Then
' 条件1为真时执行的代码
ElseIf '条件2 Then
' 条件2为真时执行的代码
' 所有条件都为假时执行的代码
End If
Sub cc()
Dim grade As Integer
grade = 85
If grade >= 90 Then
Debug.Print "优秀"
ElseIf grade >= 80 Then
Debug.Print "良好"
ElseIf grade >= 70 Then
Debug.Print "中等"
Debug.Print "不及格"
End If
End Sub
#输出结果为良好
ElseIf 上的条件之间也可用 And 和 Or 连接
If '条件1 Then
' 条件1为真时执行的代码
ElseIf '条件2 And '条件2.1 Then
' 条件2和条件2.1都为真时执行的代码
ElseIf '条件3 Or '条件3.1 Then
' 条件3或者条件3.1为真时执行的代码
End If
Sub cc()
Dim age As Integer
age = 25
If age < 18 Then
Debug.Print "未成年"
ElseIf age >= 18 And age < 65 Then
Debug.Print "成年人"
End If
End Sub
#输出结果为成年人
注意事项:
If...Then...Else
结构允许嵌套使用,可以在 Else
部分使用另一个 If...Then...Else
结构。
(2)Select Case
语句
Select Case 语句可以作为 If...Then...ElseIf...Else 语句的替代方法。与 If...Then...Else 语句不同的是,Select Case 语句只在控制结构顶部计算一次表达式,而不是在每个分支中计算。 这使得 Select Case 更适合处理需要对同一变量进行多个不同值比较的情况。
Select Case '表达式
Case value1
' 对应 value1 的代码
Case value2
' 对应 value2 的代码
Case Else
' 未匹配任何值时的代码
End Select
Sub cc()
Dim i As String
i = "Monday"
Select Case i
Case "Monday"
Debug.Print "星期一"
Case "Tuesday"
Debug.Print "星期二"
Case "Wednesday"
Debug.Print "星期三"
Case Else
Debug.Print "其他"
End Select
End Sub
#输出结果为星期一
(3)IIf
函数
IIf
函数用于在单行中进行条件判断。
result = IIf(condition, truea, falsea)
#condition为计算的表达式
#truea为condition为真时返回的值或表达式
#falsea为condition为假时返回的值或表达式
Sub cc()
Dim x As Integer
x = 10
Dim result As String
result = IIf(x, "x 大于 5", "x 小于或等于 5")
Debug.Print result
End Sub
#输出结果为 x 大于 5
根据要求条件,使用If...Then...Else语句运行一个语句或者一个语句块,得到对应的值。Select Case 语句可以作为 If...Then...ElseIf...Else 语句的替代方法。IIf函数用于在单行中进行条件判断。
If condition Then [statements][Else elsestatements]
如1:If A>B And C
如2:If x>250 Then x=x-100
或者,可以使用块形式的语法:
If condition Then
[statements]
[ElseIf condition-n Then
[elsei
If…Then…Else语句
If condition Then [statements][Else elsestatements]
如1:If A>B And C250 Then x=x-100
或者,可以使用块形式的语法:
If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements] .....
(VBA基础)Excel中数据去重的处理
CSDN-Ada助手:
VBA中Do...Loop循环语句的运用
CSDN-Ada助手:
VBA中数字的分离
CSDN-Ada助手:
VBA中找出两数组之间的差异
CSDN-Ada助手: