趣文网,分享全网好句子、好文章!

一般的教程里不出现的IF语法用法

时间:2023-07-10 05:25:01

相关推荐

一般的教程里不出现的IF语法用法

本例所举例子均在vba代码窗口中测试过

需要的话可以直接复制代码测试

Sub If语句用法()

a = Int(Rnd() * 51 + 50) "随机生成50-100的整数

MsgBox a

If a >= 90 Then MsgBox "优秀"

If 80 <= a And a < 90 Then MsgBox "良好"

If 60 <= a And a < 80 Then MsgBox "合格"

If a < 60 Then MsgBox "不合格"

End Sub

单条if语句是不用写end if的,但then后面的语句需要写在同一行,如果then后面要运行多个语句可以用冒号(:)连接,如

Sub if函数用法()

a = Int(Rnd() * 51 + 50)

MsgBox a

If a >= 90 Then MsgBox "优秀": MsgBox "很好,再接再厉"

If 80 <= a And a < 90 Then MsgBox "良好": MsgBox "还不错,但还需努力"

If 60 <= a And a < 80 Then MsgBox "合格": MsgBox "有点危险哦,不努力点会被喊家长哦"

If a < 60 Then MsgBox "不合格": 喊家长

End Sub

上面例子If a < 60 Then MsgBox "不合格": 喊家长,如果a小于60则显示不合格消息框,然后调用子程序“喊家长”

Sub 喊家长()

MsgBox "老师,孩子考不好你就打他"

End Sub

如果分开写必须分行写并加上End If,上面的4个if,如果按标准写法要写4个end if

Sub If语句用法()

a = Int(Rnd() * 51 + 50)

MsgBox a

If a >= 90 Then

MsgBox "优秀"

End If

If 80 <= a And a < 90 Then

MsgBox "良好"

End If

If 60 <= a And a < 80 Then

MsgBox "合格"

End If

If a < 60 Then

MsgBox "不合格"

End If

End Sub

或写成

Sub If语句用法()

a = Int(Rnd() * 51 + 50)

MsgBox a

If a >= 90 Then

MsgBox "优秀"

ElseIf 80 <= a And a < 90 Then

MsgBox "良好"

ElseIf 60 <= a And a < 80 Then

MsgBox "合格"

ElseIf a < 60 Then

MsgBox "不合格"

End If

End Sub

很明显第一种更简结明了。

其实if……then……else也是可以写在同一行的,记得写在同一行的话是不用加end if的,多个条件之间用英文的冒号(:)连接

如:

Sub if没有endif()

a = 2

If a = 1 Then MsgBox "不符合": MsgBox "就是不符合": MsgBox "还是不符合" Else MsgBox "符合": MsgBox "找到了"

End Sub

另外要注意如果把80 <= a And a < 90写成80 <= a < 90意思就不一样了,80 <= a < 90等于80 <= a or a < 90

其实if……then……else if……else也是可以写在一行的,后面也不用加end if结束,总的来说,写在同一行里的if语句不用加end if声明if语句结束,注意的是,写在同一行里的else if之间是有一个空格的,如果写成elseif会提示错误的,例子请参考下面的用法。如果分行写ElseIf中间是不用加空格的

Sub IF函数用法()

Dim 籍贯 As String, 性别 As String, 年龄 As Integer, 政治面貌 As String,i as Integer

If Int(Rnd() * 2) = 0 Then 籍贯 = "广东" Else 籍贯 = "广东"

If Int(Rnd() * 2) = 0 Then 性别 = "男" Else 性别 = "女"

年龄 = Int(Rnd() * 50 + 30)

i = Int(Rnd() * 3)

If i = 1 Then 政治面貌 = "党员" Else If i = 2 Then 政治面貌 = "团员" Else 政治面貌 = "群众"

"请留意这上面一句的用法

MsgBox "籍贯:" & 籍贯 & ",性别:" & 性别 & ",年龄:" & 年龄 & ",政治面貌:" & 政治面貌

If (籍贯 = "广东" And 性别 = "男" And 年龄 > 60) Or ((籍贯 = "广东" And 性别 = "女" And 年龄 > 55) And (政治面貌 = "党员" Or 政治面貌 = "团员")) Then

MsgBox "符合条件"

Else

MsgBox "不符合条件"

End If

End Sub

例子中有共有四个括号,每个括号代表一个条件,后面的两个括号外面再用另一个括号把两个括号括起来,外面的括号是一个主条件,括号里的条件都是子条件。and和or的运算优先级是同等的,所以会从左往右,但括号的优先级是在and和or之上的。

and 配合 or以及括号()能产生很复杂的判断条件,只要把运算顺序弄清楚就行。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
显示评论内容(1)
  1. B.T2023-10-21 04:51B.T[宁夏网友]202.46.20.222
    IF语法的灵活运用可以让代码更加简洁高效,很实用的技巧。
    顶9踩0
相关阅读
初级外语教程都会教你学句子和语法 新年新套路 这时候只学一样

初级外语教程都会教你学句子和语法 新年新套路 这时候只学一样

初学者刚接触英语其实应该特别注意减少大脑的负荷,集中精力做少数的几件事:先词后句;三猜而后行;多听,少说,不读写

2022-12-23

戴炜栋新编简明英语语言学教程第2版笔记和课后习题含考研真题

戴炜栋新编简明英语语言学教程第2版笔记和课后习题含考研真题

为了帮助读者更好地学习专业课,我们有针对性地编著了一套与国内外教材配套的复习资料,并提供配套的名师讲堂、电子书和题库

2009-10-14

CAD基础图文教程:迅速搞懂用户坐标系UCS

CAD基础图文教程:迅速搞懂用户坐标系UCS

但并不意味着,这就是通用的坐标系,因为在实际绘图中,大家因为视图的调整,需要重新建立一个新的参考坐标系,因此CAD中提供用户坐标系,也就是大家可能

2017-02-01

PS教程——文字扭曲变形效果

PS教程——文字扭曲变形效果

1、文字跟随形状扭曲这个就是我们先绘制一个形状,比如圆形或者用钢笔工具画出我们想要的线条

2012-06-30