vb if else(If.Else條件判斷語句詳細介紹,vba編程其實不難)

2023-08-24 05:17:50

No.1

條件判斷在程序應用中是一個必不可少的語句,正確運用條件判斷語句可提高程序轉向功能,是一定要學會的一個基本操作技能。


本節介紹一下if...Then...Else語句


if語句并不陌生,任何編程學習過程中都將從基礎的判斷語句開始,但是用好if語句要掌握更多的其它知識,比如比較函數,運算函數,還有其它一些特定功能的函數,都是條件判斷中的條件選項。


所以,要對一個條件進行判斷并不是一個很簡單的事情。


如果if嵌套過多,那么就使程序的運行效率大大降低,而且對于程序的維護工作也是一件十分頭痛的事情。


所以,從一開始就要對判斷設計有一個合理的計劃,不能做過多判斷嵌套,而且判斷條件要有合理性。如果一旦超出判斷范圍,要有容錯處理機制。


No.2

語法


if語句語法如下圖所示


簡單地使用如下代碼:


If 條件 Then


程序代碼


Else


程序代碼


End if


復雜一點的


If 條件 Then


程序代碼


Elseif 條件 Then


程序代碼


Else


程序代碼


End if


上面只是說了一些理論上的東西,下面是一個示例,對if...Else語句進行說明。


No.3

示例功能是對C列數據進行一個比較,分別對應不同的數值,設置其單元格背景顏色。


拓展下來,可以對一些成績、銷售收入、生產產量等等一些數據進行區間分類判斷,并做出相應的數據處理。


簡單來說可實現如上一些實際應用。


代碼


按鈕代碼


Private Sub CommandButton1_Click()Dim cell As Range, xcell As RangeSet cell = Range("C3:C15")cell.Item(1).Offset(0, 1).Resize(cell.Rows.Count, 4).ClearFor Each xcell In cell If xcell.Value <= 50 Then'如果小于等于50 xcell.Offset(0, 1).Interior.ColorIndex = 8 ElseIf xcell.Value > 50 And xcell.Value < 80 Then'如果大于50小于80 xcell.Offset(0, 2).Interior.ColorIndex = 9 Else If xcell.Value >= 80 And xcell.Value <= 99 Then'如果小于等于80小于等于99 xcell.Offset(0, 3).Interior.ColorIndex = 21 ElseIf xcell.Value = 100 Then'如果等于100 xcell.Offset(0, 4).Interior.ColorIndex = 35 End If End IfNext xcellEnd Sub

執行以上代碼可實現表中的數據判斷和背景顏色設置。


No.4

下面是一個窗體控件判斷的比較,本例將判斷窗體中的控件,如果是ComboBox控件,就顯示其值。


本例應用于Form窗體編程中,可對窗體中的控件類型進行判斷。


其中代碼"TypeOf xObj Is Msforms.ComboBox"可對窗體中的組合框進行判斷,如果是組合框就返回True,通過這個條件,可以對組合框進行操作。


具體代碼如下圖所示


代碼對窗體中的所有控件進行遍歷,如果條件成立就輸出值。


Dim xObj As ObjectFor Each xObj In Me.ControlsMsgBox TypeOf xObj Is TextBox If TypeOf xObj Is MsForms.ComboBox Then MsgBox xObj.Value End IfNext xObj

在調試此代碼的時候發生了一些問題,就是對文本框TextBox類進行判斷的時候,不能返回True,進過多次測試發現代碼應用有些錯誤。


如下代碼并不能返回True:


TypeOf xObj Is TextBox


TypeOf xObj Is Lable


要這樣寫才可以:


TypeOf xObj Is MsForms.TextBox


TypeOf xObj Is MsForms.Lable


但是TypeOf xObj Is MsForms.ComboBox和TypeOf xObj Is ComboBox是完全可以的,不知道是什么原因,有知道的朋友歡迎留言。


關注、收藏


---END---


TAGS:
聲明

1.本站遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.本站的原創文章,請轉載時務必注明文章作者和來源,不尊重原創的行為我們將追究責任;
3.作者投稿可能會經我們編輯修改或補充。

搜索
排行榜
成人精品大片无码视频|亚洲大尺度无码专区|早榴无码高清在线观看|五月综合激情婷婷六月色窝