专业编程基础技术教程

网站首页 > 基础教程 正文

If.Else条件判断语句详细介绍,vba编程其实不难

ccvgpt 2024-11-20 13:03:17 基础教程 7 ℃

No.1

条件判断在程序应用中是一个必不可少的语句,正确运用条件判断语句可提高程序转向功能,是一定要学会的一个基本操作技能。

本节介绍一下if...Then...Else语句

If.Else条件判断语句详细介绍,vba编程其实不难

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---

最近发表
标签列表