一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

別怕,VBA入門級教程來了,條件語句很簡單!

 Excel教程平臺 2022-02-22

關(guān)鍵字:VBA

欄目:VBA

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

一、IF…Then…Else語句

1、語句介紹

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

If 條件表達(dá)式 Then

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

Else

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

End If

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

2、舉個例子

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

程序代碼:

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

    For y = 2 To 14

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

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

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

  End If

    Next

End Sub

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

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

程序代碼:

Sub 判斷語句()

Dim i As Integer

For i = 1 To 10

 If Cells(1, i) = "" Then

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

 Else

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

 End If

Next

End Sub

二、Select…Case語句

1、概念介紹

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

Select Case 表達(dá)式

Case 條件1

處理1

Case 條件2

處理2

……

Case Else

其他處理

End Select

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

2、舉個例子

例1:“A1:A10單元格”區(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)語句從第以行到第10行檢查Cells(y,1)的值,如果該值為70以上(這種類型的比較要使用Is來寫成“Is>=70” ),就執(zhí)行語句“Cells(y, 1).Interior.ColorIndex = 5”,就行填充藍(lán)色,同理,如果為50以上就填充黃色,至于其他的,就執(zhí)行“Cells(y, 1).Interior.ColorIndex = 3”,就填充紅色。

例2:2022年春夏秋冬分別為春季為3、4、5月份,夏季為6、7、8月份,秋季為9、10、11月份,冬季為12、1、2月份,我們可以通過不同月份判定當(dāng)前是屬于哪個季節(jié)。

程序代碼:

Sub 判斷季節(jié)()

   Select Case Month(Now())

  Case Is < 3

    MsgBox ("隆冬到來時,百花亦已絕")

  Case Is < 6

    MsgBox ("春眠不覺曉,處處聞啼鳥")

  Case Is < 9

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

  Case Is < 12

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

  Case Else

    MsgBox ("隆冬到來時,百花亦已絕")

    End Select

End Sub

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

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    黄片在线观看一区二区三区| 亚洲欧美中文日韩综合| 久久精品国产亚洲av麻豆尤物| 日本在线不卡高清欧美| 午夜资源在线观看免费高清| 男人把女人操得嗷嗷叫| 东北女人的逼操的舒服吗 | 国产中文字幕一区二区| 欧美午夜一级特黄大片| 欧美日韩综合综合久久久| 国产又粗又硬又大又爽的视频| 成人综合网视频在线观看| 亚洲一区二区欧美激情| 五月综合婷婷在线伊人| 国产精品成人免费精品自在线观看 | 激情国产白嫩美女在线观看| 欧美成人欧美一级乱黄| 成人午夜激情免费在线| 日韩免费国产91在线| 精品香蕉国产一区二区三区| 中文字幕乱码一区二区三区四区 | 亚洲夫妻性生活免费视频| 国内精品伊人久久久av高清| 欧美久久一区二区精品| 亚洲国产性感美女视频| 日韩成人高清免费在线| 又色又爽又无遮挡的视频 | 日本精品最新字幕视频播放| 亚洲少妇人妻一区二区| 色无极东京热男人的天堂| 国产av精品高清一区二区三区| 日韩黄色大片免费在线| 亚洲精品中文字幕一二三| 国产肥女老熟女激情视频一区| 人妻精品一区二区三区视频免精| 香蕉网尹人综合在线观看| 国产性情片一区二区三区| 爱草草在线观看免费视频| 国产亚洲成av人在线观看| 高清不卡视频在线观看| 日本午夜一本久久久综合|