If语句
每种编程语言都会有自己规则的语句,大多都大同小异,今天学习这种最普通的If语句。
前面我们说过,想快速查看帮助文件,可以用鼠标定位到关键字的单词内部,按F1。你可以在VBA编辑器里写上If,然后鼠标定位到I后面,按F1,就可以看到官方的帮助文件了。
我们还是以具体例子来看:
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”的等号,我们在第一个程序里也碰到了:
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:
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个数才能进行的:
a 比较符号 b
这种模式得到的结果,只能是跟在If后面,或者赋值给其他变量,单独是不能使用的。
这种通过简单的语句的嵌套,可以构建出非常复杂的逻辑关系,只要你的头脑能够理清楚,而电脑适合做的就是这种严格执行语句,无论是多少无聊枯燥的、还是多么烧脑的逻辑,对电脑来说都一样。
小结
If语句是编程语言非常基础、也是非常必要的一种(好像没有什么语言没有这个吧),写程序会大量使用到这个,而且这个用起来应该来说还是比较简单的。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 09-4 更改用户密码
- 10-3 信号
- 11-1 环境中存储的是什么?
- 【Rust日报】2020-08-07 无船同志关于Rust未来Generator语法的新尝试
- 11-2 环境是如何建立的
- 11-3 激活修改
- 12-1 定制提示符
- MySQL INSERT的4种形态
- PowerBI DAX 性能优化 高级视图算法 超越经典 性能提升成千上万倍
- Java开发必备 Git 分支开发:规范指南及完全学会Git的24堂课笔记
- 聊聊dubbo-go的failbackCluster
- 视频综合管理平台EasyNVS通道列表如何获得RTMP地址和RTSP地址?
- 【每周一库】 rust-ftp - an FTP client written in Rust
- Mall 电商实战项目发布重大更新,全面支持SpringBoot 2.3.0 !
- Python与Tableau相结合,万字长文搞定传统线下连锁店数据分析