excel vba if语句(ExcelVBA基本语句if和then基础详解这一篇够详细)

Hello,亲爱的伙伴们,学习完前面几篇数组后,对于VBA方面的基础知识算有了一定的了解了,从今天开始,我们要开始学习VBA的基本语句了。

VBA的基本语句,是用来控制程序的执行的,简单的说,就是VBA的核心命令。

1if …… then

今天我们要先学习的语句,是if …… then 这个语句,翻译起来就是:如果……那么……。

大家应该还记得,我们VBA始于sub 结束于 end sub。

那么我们就先写一段简单的程序,来一步一步的认识我们的IF语句吧!

excel vba if语句(ExcelVBA基本语句if和then基础详解这一篇够详细)(1)

If Range("a1") > 60 ThenRange("b1") = "合格"

这个语句的意思就是:如果单元格A1的数字是大于60的,那么B1的值就是合格。

伙伴们看到这里就要问了,那万一不大于60呢?

VBA是这样的,你不给他执行命令语句,他就不会多事儿,他会自动忽略没有被命令的情况,所以呢,在这个过程中,如果值不大于60,它会自动下一步,就直接到结束语句了。

那如果我一定要他判断出来呢?那就多给他一个命令。

2else……

多了一个判断 else ,这个语句翻译起来的意思就是:否则

Option Explicit

Sub ifthen()

If Range("a1") > 60 Then

Range("b1") = "合格"

Else

Range("b1") = "不合格"

End If

End Sub

如果A1单元格值大于60,那么B1等于合格,否则B1等于不合格。

注意:分段写的if ……then else,结束判断要增加 end if

细心的伙伴一定会问了,老师,你这个设定只有两个条件,是不是可以写成一句话就好

了。干嘛要分那么多行?

excel vba if语句(ExcelVBA基本语句if和then基础详解这一篇够详细)(2)

其实要写成一行也可以,就是看起来特别长,代码框如果不够大,还要拖拽,我觉得麻烦。

3else if……

小伙伴提问,那我要是有三个四个五个……总之好多个如果呢?

那么我们可以用到elseif 这个语句,翻译是:否则如果……

excel vba if语句(ExcelVBA基本语句if和then基础详解这一篇够详细)(3)

如图所示:

我们增加了一个判断,就是如果A1单元格不为空且大于等于60,那么B1等于合格,否则如果A1单元格不为空且小于60,那么B1等于不合格,否则提示“请填写数字”。

End.

运行人员:中国统计网小编(itongjilove)

微博ID:中国统计网

中国统计网,是国内最早的大数据学习网站,公众号:中国统计网

http://www.itongji.cn

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页