大家好,,我是冷水泡茶,,最近我們分享了幾篇Excel VBA教程【循環(huán)語(yǔ)句】、【數(shù)組(1)】,、【數(shù)組(2)】,,說是教程,實(shí)在有點(diǎn)勉強(qiáng),,僅僅是我有限認(rèn)知的表達(dá),。其實(shí),我是不太愿意寫這種所謂的教程,,一方面覺得自己掌握的知識(shí)不夠全面,,另一方面,寫這種東西實(shí)在枯燥無聊,。但是,,每天分享一個(gè)案例也是比較困難的,前面分享了很多,,自己能想到,、用到的案例已經(jīng)寫得差不多了,有幾個(gè)計(jì)劃中的案例處于停滯狀態(tài),,主要是因?yàn)楣ぷ髁慷疾恍?,名字中都帶有什么什么“系統(tǒng)”,比如,,“印章管理系統(tǒng)”,,這個(gè)早有打算,目前只完成大概三分之一的工作量吧,;其他的基本是處于一個(gè)空想階段,,“預(yù)算管理系統(tǒng)”、“人事管理系統(tǒng)”,、“進(jìn)銷存管理系統(tǒng)”,、“電子書管理系統(tǒng)”......今天想到了這些,相當(dāng)于先拉個(gè)清單吧,。另外,,在論壇上也不太容易碰到合適的,、有意思的案例,要么太麻煩,,要么太簡(jiǎn)單,。所以呢,就準(zhǔn)備寫一些概念性的東西,,一來對(duì)前期分享的案例中涉及到的方法、技巧做一個(gè)梳理,、總結(jié),;二來作為公眾號(hào)的素材資源,有案例我們就分享案例,,沒有案例我們就拿教程來湊,,盡量保持日更。在VBA中,,我們利用條件判斷語(yǔ)句來執(zhí)行不同的代碼,,最終形成我們所需要的結(jié)果。條件判斷語(yǔ)句有兩種:IF...THEN語(yǔ)句,、SELECT CASE語(yǔ)句。1,、滿足某一個(gè)條件時(shí),執(zhí)行相應(yīng)代碼:2,、滿足某一個(gè)條件時(shí),,執(zhí)行代碼A,否則執(zhí)行代碼B:IF A>B THEN C=A ELSE C=B END IF 3,、滿足條件A時(shí),,執(zhí)行代碼A,否則,,若滿足條件B,,執(zhí)行代碼B,否則,,執(zhí)行代碼C:IF A>B THEN C=A ELSEIF D>B THEN C=D ELSE C=B END IF 大家有沒有看到過一種有點(diǎn)怪異的條件判斷:IF A>B THEN ELSE C=B END IF 還別說,,這種形式我也寫過,。我們把條件反過來寫,就順當(dāng)多了:IF NOT A>B THEN C=B END IF 之所以出現(xiàn)這樣的情況,,我想可能是“條件表達(dá)式”先入為主,,想到一個(gè)表達(dá)式,就接著往下寫,當(dāng)條件為真時(shí),,啥也不用做,,就沒有代碼,接著,,當(dāng)條件為假時(shí),,用一個(gè)ELSE分支語(yǔ)句。當(dāng)然,,結(jié)果是沒錯(cuò),,邏輯上也沒有什么不妥。只是代碼有點(diǎn)啰嗦,,不夠簡(jiǎn)潔,。4、嵌套條件,,進(jìn)行復(fù)雜的條件判斷:IF A>B THEN IF D>A THEN C=D END IF ELSE C=B END IF 二,、SELECT CASE結(jié)構(gòu)SELECT CASE 變量A CASE 值1 ... CASE 值2 ... CASE ELSE ... END SELECT 就是根據(jù)變量的值,執(zhí)行不同的代碼,。這里也可以改寫成IF...ELSE...END IF的結(jié)構(gòu)IF 變量A=值1 THEN ... ELSEIF 變量A=值2 THEN ... ELSE ... END IF
就我個(gè)人而言,,IF語(yǔ)句用得比較多,只要邏輯通順,,哪種方式都行,。 三、條件判斷中的邏輯運(yùn)算符 1,、AND,,連接兩個(gè)或兩個(gè)以上條件,只有它們都滿足,、都為真時(shí),,整個(gè)條件表達(dá)式的結(jié)果才為真。 2,、OR,,連接兩個(gè)或兩個(gè)以上條件,只要有一個(gè)滿足,,整個(gè)條件表達(dá)式的結(jié)果即為真,。 3、NOT,,將真變?yōu)榧?,將假變?yōu)檎妗?/span> 4、(),,當(dāng)有AND與多個(gè)OR條件組合的時(shí)候,,把OR條件放到括號(hào)里,,會(huì)改變整個(gè)條件表達(dá)式的結(jié)果。 四,、IF條件取值問題 1,、當(dāng)條件表達(dá)式中,有比較運(yùn)算符,,如“=”,,“>”、“<”等時(shí),,其結(jié)果為“TRUE” 或者“FALSE”,,即真或假。
2,、當(dāng)條件表達(dá)式是一個(gè)數(shù)值時(shí),0為假,,非0為真(負(fù)數(shù)也為真,,這是不是有點(diǎn)不好理解?),。 五,、總結(jié) 條件語(yǔ)句相對(duì)比較簡(jiǎn)單,經(jīng)常會(huì)跟循環(huán)結(jié)合使用,,提取符合條件的數(shù)據(jù),。具體例子我們就不舉了,基本上每一個(gè)案例中都會(huì)有IF條件語(yǔ)句,。 好,,今天就到這吧。 喜歡就點(diǎn)個(gè)贊,、點(diǎn)在看,、留言評(píng)論、分享一下唄,!感謝支持,!
|