【文章內(nèi)容簡(jiǎn)介】
的判斷時(shí),最方便的方法是 If … Then 語(yǔ) 句。If 后面的語(yǔ)句就是判斷的條件,Then 后面的語(yǔ)句是需要執(zhí)行的操作。2.語(yǔ)法說(shuō)明在 Excel VBA 中,使用 If...Then 語(yǔ)句可有條件地執(zhí)行語(yǔ)句。其語(yǔ)法格式如下:If 邏輯表達(dá)式 Then語(yǔ)句 1語(yǔ)句 1… …語(yǔ)句 nEnd If邏輯表達(dá)式可以是計(jì)算數(shù)值的表達(dá)式,VBA 將為 0 看作為 False,而非零數(shù)值都被看作 True。該語(yǔ)句的執(zhí)行順序是:當(dāng)邏輯表達(dá)式的值是 True,則執(zhí)行位于 Then 與 End If 之 間的語(yǔ)句;當(dāng)邏輯表達(dá)式的值是 False,則不執(zhí)行 Then 與 End If 之間的語(yǔ)句,直接跳出循 環(huán)結(jié)構(gòu),其流程圖如圖 所示。語(yǔ)句序列邏輯表達(dá)式假真圖 If … Then 語(yǔ)句流程圖If … Then 結(jié)構(gòu)還有單行結(jié)構(gòu)條件語(yǔ)句。其語(yǔ)法格式如下: If 邏輯表達(dá)式 Then 語(yǔ)句 該語(yǔ)句的功能為:當(dāng)邏輯表達(dá)式的值是 True,則執(zhí)行 Then 后的語(yǔ)句;當(dāng)邏輯表達(dá)式 的值是 False,則不執(zhí)行 Then 后的語(yǔ)句。3.案例說(shuō)明某公司統(tǒng)計(jì)了員工上個(gè)月的銷(xiāo)量,根據(jù)銷(xiāo)量數(shù)值,公司判定銷(xiāo)量數(shù)值大于 350 的員工為優(yōu)秀員工。對(duì)于優(yōu)秀員工將其對(duì)應(yīng)的單元格標(biāo)紅,原始數(shù)據(jù)如圖 所示。圖 原始數(shù)據(jù)4.編寫(xiě)代碼判斷優(yōu)秀員工的代碼如下:Sub ShowExcel() Dim i As IntegerFor i = 2 To 10If Sheets(1).Cells(i, 2).Value 350 Then Cells(i, 2). = 3End If NextEnd Sub5.運(yùn)行結(jié)果打開(kāi)工作薄,然后運(yùn)行程序代碼,結(jié)果如圖 所示。圖 運(yùn)行結(jié)果6.程序分析從上面案例的結(jié)果中可以看出,當(dāng)程序處理的只有一個(gè)條件時(shí),使用 If...Then 語(yǔ)句可 以很便利的解決問(wèn)題。案例 12 根據(jù)編號(hào)分組1.功能說(shuō)明當(dāng)用戶在實(shí)際開(kāi)發(fā)時(shí),經(jīng)常需要進(jìn)行多條件判斷。例如,當(dāng)滿足條件 1 時(shí),執(zhí)行第一種操作;當(dāng)不滿足條件 1 時(shí),執(zhí)行另外一種操作。當(dāng)用戶需要編寫(xiě)這些類(lèi)型的代碼時(shí),前 面案例中的 If … Then 語(yǔ)句將無(wú)法滿足,用戶需要使用 If .. . Then … Else 語(yǔ)句。 2.語(yǔ)法說(shuō)明在 Excel VBA 中,用戶可以使用 If .. . Then … Else 語(yǔ)句,根據(jù)條件是否成立分別執(zhí)行 兩段不同的代碼,其語(yǔ)法格式如下:If 邏輯表達(dá)式 Then語(yǔ)句序列 1 Else語(yǔ)句序列 2End If該語(yǔ)句的執(zhí)行過(guò)程是:當(dāng)邏輯表達(dá)式的值是 True 時(shí),將執(zhí)行“語(yǔ)句序列 1”中的各條語(yǔ)句;當(dāng)“邏輯表達(dá)式”的值為 False 時(shí),就執(zhí)行“語(yǔ)句序列 2”中的各條語(yǔ)句,其流程圖 如圖 所示。圖 If Then Else 語(yǔ)句流程圖3.案例說(shuō)明某公司統(tǒng)計(jì)了員工上個(gè)月的銷(xiāo)量,公司需要根據(jù)員工編號(hào)判斷員工的組別。當(dāng)編號(hào)是 偶數(shù)的時(shí)候,員工屬于女組;當(dāng)編號(hào)是奇數(shù)時(shí),員工屬于男組,原始數(shù)據(jù)如圖 所示。 圖 原始數(shù)據(jù)4.編寫(xiě)代碼分組的程序代碼如下:Sub ShowTeam() Dim i As Integer For i = 2 To 10If Sheets(1).Cells(i, 1).Value Mod 2 Then Cells(i, 3).Value = 男組ElseCells(i, 3).Value = 女組 End IfNextEnd Sub5.運(yùn)行結(jié)果打開(kāi)工作薄,運(yùn)行程序代碼,得到的結(jié)果如圖 所示。圖 運(yùn)行結(jié)果6.程序分析從上面的典型例子中可以看出,當(dāng)在實(shí)際情況中需要根據(jù)某條件執(zhí)行兩種不同的操作 時(shí),可以使用 If .. . Then … Else 語(yǔ)句便利的完成任務(wù)。案例 13 計(jì)算消費(fèi)金額1.功能說(shuō)明在實(shí)際開(kāi)發(fā)中,用戶可能需要處理多條件問(wèn)題。例如,某公司根據(jù)多個(gè)銷(xiāo)量,將折扣 分為多個(gè)檔次。在計(jì)算銷(xiāo)售金額的時(shí)候,需要判斷具體銷(xiāo)售屬于哪個(gè)檔次,然后根據(jù)該檔 次的折扣值,計(jì)算銷(xiāo)售金額。這個(gè)時(shí)候,用戶可以使用 Select Case 語(yǔ)句。2.語(yǔ)法說(shuō)明在 Excel VBA 中,Select Case 結(jié)構(gòu)的語(yǔ)法格式如下:Select Case 測(cè)試表達(dá)式Case 表達(dá)式列表 1語(yǔ)句序列 1Case 表達(dá)式列表 2語(yǔ)句序列 2…