友情提示:本文共有 778 个字,阅读大概需要 2 分钟。
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 cellIf xcell.Value <= 50 Then"如果小于等于50xcell.Offset(0, 1).Interior.ColorIndex = 8ElseIf xcell.Value > 50 And xcell.Value < 80 Then"如果大于50小于80xcell.Offset(0, 2).Interior.ColorIndex = 9ElseIf xcell.Value >= 80 And xcell.Value <= 99 Then"如果小于等于80小于等于99xcell.Offset(0, 3).Interior.ColorIndex = 21ElseIf xcell.Value = 100 Then"如果等于100xcell.Offset(0, 4).Interior.ColorIndex = 35End IfEnd 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 TextBoxIf TypeOf xObj Is MsForms.ComboBox ThenMsgBox xObj.ValueEnd 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---
本文如果对你有帮助,请点赞收藏《If.Else条件判断语句详细介绍 vba编程其实不难》,同时在此感谢原作者。