vb if else(If.Else條件判斷語句詳細介紹,vba編程其實不難)
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---
1.本站遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.本站的原創文章,請轉載時務必注明文章作者和來源,不尊重原創的行為我們將追究責任;
3.作者投稿可能會經我們編輯修改或補充。