Excel 关于VBA中IF多条件语句的用法,虚心求教

Excel 关于VBA中IF多条件语句的用法,虚心求教,第1张

1、if语句的含义:if语句字面意思就是如果的意思,如果条件为真,那么就执行if语句里面的程序,这个程序,一般指then后面的,一个if语句可以没有end if,但绝对不能没有then,这一点是要注意的。

2、if……then……结构

该结构一般用于比较简单的判断语句执行,下面以一段实例程序来讲解。

实例:如果第一个单元格不为空,那么就d出一个提示框“单元格不为空”。

程序:

Sub 判断语句()

If Cells(1, 1) <> "" Then MsgBox "单元格不为空"

End Sub

3、if……then……end if结构

该结构用于单选择判断语句执行,具体用法看下面实例。

实例:对于第一列的第一行到第十行单元格,作如下判断,如果单元格为空值了那么在相应的第二列单元格输出“VBA教研室”。

程序:

Sub 判断语句()

Dim i As Integer

For i = 1 To 100

If Cells(i, 1) = "" Then

Cells(i, 2) = "VBA教研室"

Exit For

End If

Next

End Sub

4、if ……then……else……end if结构

该结构用于事件只有两个可能的情况先选择的判断语句,具体见下面实例分析。

实例:对于第一列的第1,2行两个单元格做判断,如果单元格值为空,则在相应的第二列单元格输出false,否则输出Ture。

程序:

Sub 判断语句()

Dim i As Integer

For i = 1 To 2

If Cells(i, 1) = "" Then

Cells(i, 2) = "false"

Else

Cells(i, 2) = "True"

End If

Next

End Sub

5、if ……then……elseif……then……else……end if结构

该结构用于多条件判断语句执行,具体见下面实例分析

实例:对三名同学的成绩作出判断,大于等于80分的为优秀;60到80之间的为及格;0到60分之间的为不及格;0分为考试无效。

程序:

Sub 判断语句()

Dim i As Integer

For i = 2 To 7

If Cells(i, 2) >= 80 Then

Cells(i, 3) = "优秀"

ElseIf Cells(i, 2) < 80 And Cells(i, 2) >= 60 Then

Cells(i, 3) = "及格"

ElseIf Cells(i, 2) < 60 And Cells(i, 2) > 0 Then

Cells(i, 3) = "不及格"

Else

Cells(i, 3) = "考试无效"

End If

Next

End Sub

6、if语句嵌套使用

if语句可以灵活的嵌套使用的,如下面这套程序

Sub 判断语句()

Sub 判断语句()

If Cells(1, 1) <> "" Then

If Cells(1, 1) = "VBA教研室" Then

MsgBox "OK!"

Else

MsgBox "NO!"

End If

End If

End Sub

参考资料:

百度经验-Excel VBA中if语句的用法

if x<-8 then

y=1

elseif x<0 then '注意,由于x<-8的情况已经在上面排除了,所以这里就不需要加x>=-8了,下同

y=2

elseif x<8 then

y=3

else

y=4

end if

或者:

y=iif(x<-8,1,iif(x<0,2,iif(x<8,3,4)))

另外,由于textbox文本框控件的text属性是字符类型,当它与数值进行比较时,要先转为数值在进行比较,比如:

If Val(Text1Text) < -8 Then

你的代码中,有三个If,却只有两个End If,所以就错了。建议你要养成良好的书写代码习惯,就是要注意同一结构的代码要缩进,比如:

For i = 1 To 9

If Then

Else

If Then

Else

If Then

Else

End If

End If

End If

Next i

这样的话你少写了什么就能一眼看出来(比如少了一个End If,那么最后面的Next i就不可能跟For对齐了)。

VB或语言:

if(P1^x==1)

else

{其它情况的 *** 作语句,else部分可以没有}

或if(P1_x==1)(如前面已有定义P1_x=P1^x)

Visual Basic是一种由 Microsoft 公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。从任何标准来说,VB都是世界上使用人数最多的语言——不管是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。

不知你用的是什么查询分析器。

我记得 select count() into @cnt from table1 where map_id = 114 and `type` = 400 ;

if @cnt > 0 then update table1 set `count` = 25 where map_id = 114 and `type` = 400;

else

insert table1 (map_id,`count`,`type`) values (114,25,400);

end if ;

而且好像if then endif只能在procedure或是function里用吧

以上就是关于Excel 关于VBA中IF多条件语句的用法,虚心求教全部的内容,包括:Excel 关于VBA中IF多条件语句的用法,虚心求教、VB程序中:X小于-8,输出1;X大于-8且小于0,输出2;X大于0且小于8,输出3;X大于8,输出4。拜谢!、VB或语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10109042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存