if語句的含義:if語句字面意思就是如果條件為真,那么就執(zhí)行if語句里面的程序,這個程序,一般指then后面的語句。另外需要說的一點(diǎn)是一個if語句可以沒有end if,但絕對不能沒有then,這一點(diǎn)是我們要注意到的。一個If或ElseIf語句可以嵌套在另一個If或ElseIf語句中。內(nèi)部的If語句是根據(jù)最外層的If語句執(zhí)行的。這使得VBA能夠輕松處理復(fù)雜的條件。
我們對這個IF判斷函數(shù)分為4步為你揭開她的神秘面紗,學(xué)會了,你就能夠處理一些錄制宏不能完成的操作了。
Step-01 if……then……結(jié)構(gòu),這個結(jié)構(gòu)的使用方法和我的工作表的IF函數(shù)有的類似,但是又不是完全相同。這個結(jié)構(gòu)一般用在我們比較簡單的判斷語,我們通過如下的實(shí)例讓你學(xué)會他!
實(shí)例:如果A1單元格不為空,那么就執(zhí)行Then后面的語句,即彈出一個提示框“單元格不為空”
?Sub Step01()
If Range('a1') <> '' Then MsgBox '單元格不為空'
End Sub
?可以發(fā)現(xiàn),這個語句只能完成一個條件判斷,即我們判斷A1單元格是不是為空,如果我們要同時增加一個條件來判斷B1單元格是不是同時為空,那么這種寫法就完成不了,這個時候我們可以對他進(jìn)行改善,增加AND語句,如下所示:
Sub Step01()
If Range('a1') <> '' And Range('b1') <> '' Then MsgBox '單元格不為空'
End Sub
Step-02 if……then……結(jié)構(gòu),這個語句同樣是用于單選擇判斷語句,具體用法看下面實(shí)例。
實(shí)例:如果單元格A11不為空值了,那么在相應(yīng)的第二列單元格輸出“我是Excel,喜歡可以關(guān)注我”
?Sub Step02()
If Cells(11, 1) <> '' Then
Cells(11, 2) = '我是Excel,喜歡可以關(guān)注我'
Exit For
End If
End Sub
其實(shí)這種寫法才是IF-then-End IF語句的最官方的寫法,最最標(biāo)準(zhǔn)的寫法。聰明的你,肯定發(fā)現(xiàn)上面第一個語句就是這個語句就是縮寫方法。此時相信你已經(jīng)能夠明白單條件的IF的語句的使用方法啦!
Step-03 if ……then……else……end if結(jié)構(gòu),這個結(jié)構(gòu)通常被我們用于2個條件的判斷,即他們判斷只有兩個可能的情況先選擇的判斷語句,即一個硬幣不是正面朝上的話,那么必定是反面朝上,具體我們可以見下面實(shí)例。
實(shí)例:對于A1單元格進(jìn)行判斷,如果單元格值為空,則在相應(yīng)的B1單元格輸出false,否則在C1輸出Ture。
?Sub Step03()
If Range('a1') = '' Then
Range('b1') = 'False'
Else
Range('c1') = 'True'
End If
End Sub
這個語句也是比較好理解,適用于場合為只有兩種結(jié)果的情況下,我們只要按需選擇即可。
Step-04 if ……then……elseif……then……else……end if結(jié)構(gòu),該結(jié)構(gòu)用于多條件判斷語句執(zhí)行,很多時候,你需要檢查非常多種的情況,你可以使用子句ElseIf來將一些If條件結(jié)合在一起。使用If…Then…ElseIf語句,你可以比用前面中的If…Then…Else語句可以完成更多的條件判斷。這里是If…Then…ElseIf語句的語法:
PS: Else子句是可選的;如果當(dāng)所有條件為假時,沒有要執(zhí)行的操作,那么你就可以忽略它。你的程序里可以包括任何多個ElseIf子句和條件。ElseIf子句總是出現(xiàn)在Else子句之前的,只有當(dāng)ElseIf子句的條件為真時,它的語句才會被執(zhí)行。
實(shí)例:A列的學(xué)員成績進(jìn)行分析判斷,當(dāng)他們的大于等于80分的為優(yōu)秀;60到80之間的為及格;0到60分之間的為不及格;0分為考試無效。執(zhí)行完成以后的結(jié)果如C列所示。
這個多條件判斷是我們常用的,也是我們數(shù)據(jù)處理的時候經(jīng)常會用的,對于這個的結(jié)構(gòu)的理解,你可以將ElseIf—then理解為IF—Then單個結(jié)構(gòu)進(jìn)行疊加而成的,就像一件房子是可以有很多塊磚瓦進(jìn)行疊加的一樣。
Step-05 if語句嵌套使用,這是也是我們常常用于多條件判斷的語句,這個IF---Then函數(shù)之支持多層嵌套的,就如同我們2007版本的工作表IF函數(shù)支持不超過7層嵌套,有了嵌套,就讓他真的變得異常強(qiáng)大,相信對函數(shù)熟悉的小伙伴肯定非常熟悉啦!
?如上例子我們只是嵌套了2個IF 語句,當(dāng)然你可以嵌套更多的語句,當(dāng)然你增加的判斷邏輯越多,那邊他執(zhí)行的效率將會下降,這個是在后面的學(xué)習(xí)會告訴你,如何加快多層IF判斷語句的執(zhí)行效率的。
好啦!快樂的時間總是非常短暫的,又到了和大家說再見的時候,如果大家感覺本文如果對你有所幫助的話,請幫忙轉(zhuǎn)發(fā)點(diǎn)贊,謝謝您能觀看到現(xiàn)在,我們下期再見!
如果有不明白的或者不懂的可以在下方留言,我們會一一解答的。
親們,如果你感覺本文對你有幫助的話,請隨手幫忙點(diǎn)擊一下下方的廣告,謝謝您的舉手之勞,在下不勝感激?。?!
聯(lián)系客服