网站首页 > 基础教程 正文
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 Range
Set cell = Range("C3:C15")
cell.Item(1).Offset(0, 1).Resize(cell.Rows.Count, 4).Clear
For 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 If
Next xcell
End Sub
执行以上代码可实现表中的数据判断和背景颜色设置。
No.4
下面是一个窗体控件判断的比较,本例将判断窗体中的控件,如果是ComboBox控件,就显示其值。
本例应用于Form窗体编程中,可对窗体中的控件类型进行判断。
其中代码"TypeOf xObj Is Msforms.ComboBox"可对窗体中的组合框进行判断,如果是组合框就返回True,通过这个条件,可以对组合框进行操作。
具体代码如下图所示
代码对窗体中的所有控件进行遍历,如果条件成立就输出值。
Dim xObj As Object
For Each xObj In Me.Controls
MsgBox TypeOf xObj Is TextBox
If TypeOf xObj Is MsForms.ComboBox Then
MsgBox xObj.Value
End If
Next 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---
猜你喜欢
- 2024-11-20 一文搞懂Golang条件判断:if-else语句详解
- 2024-11-20 无需If-Else语句,状态模式即可编写干净可维护的代码
- 2024-11-20 答应我,别再if/else走天下了可以吗
- 2024-11-20 如何对SpringBoot中的IF-ELSE语句进行优化?
- 2024-11-20 道哥说编程--Java流程控制语句if--else详解
- 2024-11-20 if-elif-else,三目运算符,while条件循环,for迭代循环
- 2024-11-20 设计模式:策略模式避免多重分支语句(ifelse)
- 2024-11-20 Excel VBA流程图解之IF语句,多层IF嵌套,其实很简单
- 2024-11-20 4.2 练习编写简单的if语句和else语句
- 2024-11-20 C/C++编程笔记:if—else语句块,有个细节需要注意
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)