前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >If语句

If语句

作者头像
xyj
发布2020-07-28 10:11:50
1.1K0
发布2020-07-28 10:11:50
举报
文章被收录于专栏:VBA 学习VBA 学习

每种编程语言都会有自己规则的语句,大多都大同小异,今天学习这种最普通的If语句。

前面我们说过,想快速查看帮助文件,可以用鼠标定位到关键字的单词内部,按F1。你可以在VBA编辑器里写上If,然后鼠标定位到I后面,按F1,就可以看到官方的帮助文件了。

我们还是以具体例子来看:

代码语言:javascript
复制
Sub TestIF()
    '一行,Then后面只能是1个语句(可以用“:”连接多个,但不建议)
    If Range("A1").Value Mod 2 = 1 Then Range("B1").Value = "奇数"
    If Range("A2").Value Mod 2 = 0 Then Range("B2").Value = "偶数"
    
    '这种模式,If和End If之间可以写多行
    If Range("A3").Value Mod 2 = 1 Then
        Range("B3").Value = "奇数"
    End If
        
    If Range("A4").Value Mod 2 = 0 Then
        Range("B4").Value = "偶数"
    End If
    
    'Else下面代表If语句返回False执行的语句
    If Range("A5").Value Mod 2 = 0 Then
        Range("B5").Value = "偶数"
    Else
        Range("B5").Value = "奇数"
    End If
End Sub

A1-A5有一些数字,我们通过If语句来判断他的奇偶,举了3种写法的例子。

其中Mod是内置的取余数函数,Range("A1").Value Mod 2的意思就是,对Range("A1").Value也就是7,取2的余数,我们知道结果就是1。

后面跟着的“= 1”的等号,我们在第一个程序里也碰到了:

代码语言:javascript
复制
Range("A1").Value = "hello Excel VBA"

上面这个“=”,因为左边是单元格的Value属性,而且是简单的单独语句,是一种赋值的意思,就是把后面的字符串赋值给Range("A1").Value。

而现在这里的“Range("A1").Value Mod 2 = 1”因为是跟在If后面的,它是一种判断,也就相当于是“Range("A1").Value Mod 2”得到的值,是否等于1,这2种方式是不一样的。

  • 一种是赋值
  • 一种是判断是否相等,是一种比较,会返回true或者false的Boolean值

If后面返回true,就是执行Then后面的语句,否则就会执行Else后面的语句,如果没有Else就不会执行(图中的第4个数字5,后面就是没有执行)。

If语句里面还可以嵌套If:

代码语言:javascript
复制
    If Range("A5").Value Mod 2 = 0 Then
        If Range("A5").Value > 5 Then
            Range("B5").Value = "大于5的偶数"
        Else
            Range("B5").Value = "小于5的偶数"
        End If
    Else
        Range("B5").Value = "奇数"
    End If

这种嵌套还有其他Else If ... Then等形式,具体可以研究研究官方的帮助文档,别忘记那个F1查看的方法。

延伸一下比较符:

这里的“>",代表的意思就是前面的数字是否大于后面的数字,和上面的”=“一样,也是一种比较符,这样的符号还有:

  • < 小于
  • >= 大于或者等于
  • <= 小于或者等于
  • <> 不等于

这些比较符都是前后2个数才能进行的:

代码语言:javascript
复制
a 比较符号 b

这种模式得到的结果,只能是跟在If后面,或者赋值给其他变量,单独是不能使用的。

这种通过简单的语句的嵌套,可以构建出非常复杂的逻辑关系,只要你的头脑能够理清楚,而电脑适合做的就是这种严格执行语句,无论是多少无聊枯燥的、还是多么烧脑的逻辑,对电脑来说都一样。

小结

If语句是编程语言非常基础、也是非常必要的一种(好像没有什么语言没有这个吧),写程序会大量使用到这个,而且这个用起来应该来说还是比较简单的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 VBA 学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档