1、if语句的含义:if语句字面意思就是如果的意思,如果条件为真,那么就执行if语句里面的程序,这个程序,一般指then后面的,一个if语句可以没有end if,但绝对不能没有then,这一点是要注意的。
2、if……then……结构
该结构一般用于比较简单的判断语句执行,下面以一段实例程序来讲解。
实例:如果第一个单元格不为空,那么就弹出一个提示框“单元格不为空”。
程序:
Sub 判断语句()
If Cells(1, 1) <> "" Then MsgBox "单元格不为空"
End Sub
3、if……then……end if结构
该结构用于单选择判断语句执行,具体用法看下面实例。
实例:对于第一列的第一行到第十行单元格,作如下判断,如果单元格为空值了那么在相应的第二列单元格输出“VBA教研室”。
程序:
Sub 判断语句()
Dim i As Integer
For i = 1 To 100
If Cells(i, 1) = "" Then
Cells(i, 2) = "VBA教研室"
Exit For
End If
Next
End Sub
4、if ……then……else……end if结构
该结构用于事件只有两个可能的情况先选择的判断语句,具体见下面实例分析。
实例:对于第一列的第1,2行两个单元格做判断,如果单元格值为空,则在相应的第二列单元格输出false,否则输出Ture。
程序:
Sub 判断语句()
Dim i As Integer
For i = 1 To 2
If Cells(i, 1) = "" Then
Cells(i, 2) = "false"
Else
Cells(i, 2) = "True"
End If
Next
End Sub
5、if ……then……elseif……then……else……end if结构
该结构用于多条件判断语句执行,具体见下面实例分析
实例:对三名同学的成绩作出判断,大于等于80分的为优秀;60到80之间的为及格;0到60分之间的为不及格;0分为考试无效。
程序:
Sub 判断语句()
Dim i As Integer
For i = 2 To 7
If Cells(i, 2) >= 80 Then
Cells(i, 3) = "优秀"
ElseIf Cells(i, 2) < 80 And Cells(i, 2) >= 60 Then
Cells(i, 3) = "及格"
ElseIf Cells(i, 2) < 60 And Cells(i, 2) > 0 Then
Cells(i, 3) = "不及格"
Else
Cells(i, 3) = "考试无效"
End If
Next
End Sub
6、if语句嵌套使用
if语句可以灵活的嵌套使用的,如下面这套程序
Sub 判断语句()
Sub 判断语句()
If Cells(1, 1) <> "" Then
If Cells(1, 1) = "VBA教研室" Then
MsgBox "OK!"
Else
MsgBox "NO!"
End If
End If
End Sub