Excel VBA中if語(yǔ)句的用法詳解
我們都知道,作為程序,VBA有兩大結(jié)構(gòu),一個(gè)是if語(yǔ)句,一個(gè)是循環(huán)語(yǔ)句。在VBA中,if語(yǔ)句是一種基本的語(yǔ)句結(jié)構(gòu),也是非常廣泛使用的語(yǔ)句,具有很強(qiáng)的實(shí)用性。下面將詳細(xì)介紹VBA中if語(yǔ)句的用法。 1
我們都知道,作為程序,VBA有兩大結(jié)構(gòu),一個(gè)是if語(yǔ)句,一個(gè)是循環(huán)語(yǔ)句。在VBA中,if語(yǔ)句是一種基本的語(yǔ)句結(jié)構(gòu),也是非常廣泛使用的語(yǔ)句,具有很強(qiáng)的實(shí)用性。下面將詳細(xì)介紹VBA中if語(yǔ)句的用法。
1. if語(yǔ)句的含義
if語(yǔ)句的字面意思是“如果”的意思,也就是說,如果條件為真,那么就執(zhí)行if語(yǔ)句里面的程序。這個(gè)程序一般指then后面的內(nèi)容。一個(gè)if語(yǔ)句可以沒有end if語(yǔ)句,但絕對(duì)不能沒有then語(yǔ)句,這一點(diǎn)需要注意。
2. 結(jié)構(gòu)
結(jié)構(gòu)一般用于比較簡(jiǎn)單的判斷語(yǔ)句執(zhí)行。下面以一個(gè)實(shí)例程序來講解:
Sub 判斷語(yǔ)句()
If Cells(1, 1) <> "" Then
MsgBox "單元格不為空"
End If
End Sub
以上程序的功能是:如果第一個(gè)單元格不為空,那么就彈出一個(gè)提示框“單元格不為空”。
3. if結(jié)構(gòu)
if結(jié)構(gòu)用于單選擇判斷語(yǔ)句執(zhí)行。具體用法如下實(shí)例:
Sub 判斷語(yǔ)句()
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
以上程序的功能是:對(duì)于第一列的第一行到第十行單元格,如果單元格為空值了,那么在相應(yīng)的第二列單元格輸出“VBA教研室”。
4. if結(jié)構(gòu)
if結(jié)構(gòu)用于事件只有兩個(gè)可能情況先選擇的判斷語(yǔ)句。具體見下面實(shí)例分析:
Sub 判斷語(yǔ)句()
Dim i As Integer
For i 1 To 2
If Cells(i, 1) "" Then
Cells(i, 2) "false"
Else
Cells(i, 2) "Ture"
End If
Next
End Sub
以上程序的功能是:對(duì)于第一列的第1、2行兩個(gè)單元格做判斷,如果單元格值為空,則在相應(yīng)的第二列單元格輸出“false”,否則輸出“True”。
5. if結(jié)構(gòu)
if結(jié)構(gòu)用于多條件判斷語(yǔ)句執(zhí)行。具體見下面實(shí)例分析:
Sub 判斷語(yǔ)句()
Dim i As Integer
For i 2 To 7
If Cells(i, 2) > 80 Then
Cells(i, 3) "優(yōu)秀"
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
以上程序的功能是:對(duì)三名同學(xué)的成績(jī)作出判斷,大于等于80分的為“優(yōu)秀”;60到80之間的為“及格”;0到60分之間的為“不及格”;0分為“考試無效”。
6. if語(yǔ)句嵌套使用
if語(yǔ)句可以靈活地嵌套使用。如下面這個(gè)示例程序:
Sub 判斷語(yǔ)句()
If Cells(1, 1) <> "" Then
If Cells(1, 1) "VBA教研室" Then
MsgBox "OK!"
Else
MsgBox "NO!"
End If
End If
End Sub
以上程序的功能是:如果第一個(gè)單元格不為空,并且其值為“VBA教研室”,那么就彈出一個(gè)提示框“OK!”,否則彈出一個(gè)提示框“NO!”。