二維碼 購(gòu)物車
部落窩在線教育歡迎您!

別怕,VBA入門級(jí)教程來(lái)了,條件語(yǔ)句很簡(jiǎn)單!

?

作者:賦春風(fēng)來(lái)源:部落窩教育發(fā)布時(shí)間:2022-02-21 16:27:21點(diǎn)擊:2150

分享到:
0
收藏    收藏人氣:0人
版權(quán)說(shuō)明: 原創(chuàng)作品,禁止轉(zhuǎn)載。

編按:

關(guān)于宏,條件語(yǔ)句是最常用的語(yǔ)句之一,條件語(yǔ)句是根據(jù)判斷結(jié)果執(zhí)行不同的過(guò)程,也就是“如果是……就進(jìn)行……”。只有掌握了宏程序的條件語(yǔ)句,才能應(yīng)用起來(lái)得心應(yīng)手。這篇文章的目的,是介紹條件語(yǔ)句,其實(shí)條件語(yǔ)句只有兩種:“IFThenElse”語(yǔ)句,“Slecct…Case”語(yǔ)句。

 

一、IF…Then…Else語(yǔ)句

1、語(yǔ)句介紹

到目前為止所學(xué)習(xí)過(guò)的宏都是從“Sub…”的下一行開(kāi)始順序執(zhí)行,并以“End Sub…”作為結(jié)束的單向處理。對(duì)此,如果能根據(jù)不同的條件來(lái)改變流程,宏的可應(yīng)用的范圍就會(huì)大大擴(kuò)展。在此就來(lái)學(xué)學(xué)“IfThenElse”語(yǔ)句吧。該語(yǔ)句的語(yǔ)法結(jié)構(gòu)是:

If 條件表達(dá)式 Then

條件滿足時(shí)所執(zhí)行的處理

Else

    條件不滿足時(shí)所執(zhí)行的處理

End If

語(yǔ)法中,在If后放入條件,如果條件滿足就執(zhí)行Then后面的部分,如果不滿足就執(zhí)行Else后面的部分。其中,“Else 條件不滿足時(shí)所執(zhí)行的處理”的部分如果沒(méi)有必要可將其省略,此時(shí),只有在條件滿足時(shí)進(jìn)行的處理,條件不滿足則不進(jìn)行處理。

2、舉個(gè)例子

1下面的工作表,輸入的數(shù)據(jù)行與未輸入的數(shù)據(jù)行混在一起,要求在未輸入的行前(A列)輸入“無(wú)任何值”并填充黃色,而已輸入數(shù)據(jù)行保持原樣。

 

 

程序代碼

Sub 只輸入在空白單元格中()

    For y = 2 To 14

        If Cells(y, 1).Value = "" Then

            Cells(y, 1).Value = "無(wú)任何值"  

            Cells(y, 1).Interior.ColorIndex = 6

        End If

    Next

End Sub

程序分析:首先,Cells可以表示單元格,Cell表示方法為Cells(行號(hào),列標(biāo)),“行號(hào)”參數(shù)表示縱向的位置,“列標(biāo)”參數(shù)表示橫向的位置,例如,Cells(1,2)的行號(hào)為1,列標(biāo)為2,因此表示B1單元格。然后用“For…Next”循環(huán)語(yǔ)句從第二行到第14行檢查Cells(y,1)的值,如果該值為"",然后就執(zhí)行”Cells(y, 1).Value = "無(wú)任何值"”,也就是輸入“無(wú)任何值”,再執(zhí)行“Cells(y, 1).Interior.ColorIndex = 6”,也就是將單元格填充黃色。當(dāng)單元格有數(shù)據(jù)時(shí),也就是非“Cells(y, 1).Value = ""”時(shí),不做處理,換句話不設(shè)置“Else”語(yǔ)句。

 

 

2對(duì)于第一行的第1-10列兩個(gè)單元格做判斷,如果單元格值為空,則在相應(yīng)的第二列單元格輸出“無(wú)數(shù)據(jù)”,否則輸出“有數(shù)據(jù)”。

程序代碼:

Sub 判斷語(yǔ)句()

Dim i As Integer

For i = 1 To 10

 If Cells(1, i) = "" Then

    Cells(2, i) = "無(wú)數(shù)據(jù)"

 Else

    Cells(2, i) = "有數(shù)據(jù)"

 End If

Next

End Sub

 

 

二、Select…Case語(yǔ)句

1、概念介紹

在武俠世界中,有北喬峰和南慕容勢(shì)均力敵、旗鼓相當(dāng)。在VBA世界里,也有與“IF…Then…Else”齊名的條件語(yǔ)句“Select… Case”語(yǔ)句。假如遇到這樣的條件:“如果是1就進(jìn)行A,如果是2就進(jìn)行B,如果是3就進(jìn)行C……”,也就是處理好多情況的時(shí)候,應(yīng)用“SelectCase”語(yǔ)句就能編出簡(jiǎn)明、易懂的宏語(yǔ)言。當(dāng)然了,應(yīng)用“IF…Then…Else”語(yǔ)句也能做到,但處理多個(gè)條件,“SelectCase語(yǔ)句”更加方便。該語(yǔ)句的語(yǔ)法結(jié)構(gòu)是:

Select Case 表達(dá)式

Case 條件1

處理1

Case 條件2

處理2

……

Case Else

其他處理

End Select

語(yǔ)法中,在Select Case后面放置表達(dá)式部分,并按此表達(dá)式進(jìn)行分別處理。如果與所有條件都不符合,就會(huì)執(zhí)行Case Else中的處理,而且,Case的分支無(wú)數(shù)量限制。

2、舉個(gè)例子

1A1A10單元格”區(qū)域的值如果為70以上就填充藍(lán)色,如果為50以上就填充黃色,其他的都填充紅色。



程序代碼:

Sub 按數(shù)字大小填充紅黃藍(lán)色()

For y = 1 To 10

    Select Case Cells(y, 1).Value

        Case Is >= 70

            Cells(y, 1).Interior.ColorIndex = 5

        Case Is >= 50

            Cells(y, 1).Interior.ColorIndex = 6

        Case Else

            Cells(y, 1).Interior.ColorIndex = 3

    End Select

Next

End Sub



程序分析:首先使用Cells表示單元格,然后用“For…Next”循環(huán)語(yǔ)句從第以行到第10行檢查Cells(y,1)的值,如果該值為70以上(這種類型的比較要使用Is來(lái)寫成“Is>=70” ),就執(zhí)行語(yǔ)句“Cells(y, 1).Interior.ColorIndex = 5”,就行填充藍(lán)色,同理,如果為50以上就填充黃色,至于其他的,就執(zhí)行“Cells(y, 1).Interior.ColorIndex = 3”,就填充紅色。

22022年春夏秋冬分別為春季為34、5月份,夏季為6、7、8月份,秋季為910、11月份,冬季為12、1、2月份,我們可以通過(guò)不同月份判定當(dāng)前是屬于哪個(gè)季節(jié)。



程序代碼

Sub 判斷季節(jié)()

   Select Case Month(Now())

     Case Is < 3

       MsgBox ("隆冬到來(lái)時(shí),百花亦已絕")

     Case Is < 6

       MsgBox ("春眠不覺(jué)曉,處處聞啼鳥(niǎo)")

     Case Is < 9

       MsgBox ("水積春塘晚,陰交夏木繁")

     Case Is < 12

       MsgBox ("自古逢秋悲寂寥,我言秋日勝春朝")

     Case Else

       MsgBox ("隆冬到來(lái)時(shí),百花亦已絕")

    End Select

End Sub

程序分析:首先用NOW()函數(shù)獲取當(dāng)前的時(shí)間節(jié)點(diǎn),接著用Month()函數(shù)獲取月份,然后用Select Case語(yǔ)句判斷不同的月份,最后用MsgBox彈出一個(gè)對(duì)話框,對(duì)話框內(nèi)是代表當(dāng)前季節(jié)的古詩(shī)。

 

 

本文配套的練習(xí)課件請(qǐng)加入QQ群:902294808下載。

Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!

掃下方二維碼關(guān)注公眾號(hào),可隨時(shí)隨地學(xué)習(xí)Excel

IMG_256

相關(guān)推薦:

將excel中的數(shù)據(jù)按照指定數(shù)量進(jìn)行重復(fù),非得用VBA才能實(shí)現(xiàn)嗎?

如何在特定位置批量插入空行等12種實(shí)用辦公技巧

4種刪除excel重復(fù)值的小妙招,速收藏

Power Query的數(shù)據(jù)替換技巧比Excel函數(shù)更萬(wàn)能!

版權(quán)申明:

本文作者賦春風(fēng);同時(shí)部落窩教育享有專有使用權(quán)。若需轉(zhuǎn)載請(qǐng)聯(lián)系部落窩教育。