主页 > Excel专区 > Excel函数 >

Excel VBA入门系列,1分钟了解IF语句及其小技巧

Excel函数 2022-01-12

ExcelVBA的迷人之处在于它可以解决很多函数无法完成的功能,同时代码具有一定的复用性,可重复利用,逻辑直观明了,极具实用性,今天我们就来说说VBA中最简单的一个语句,IF语句。

ExcelVBA入门系列,1分钟了解IF语句及其小技巧

单条件IF

语法:If 判断语句Then条件成立结果ELSE条件不成立结果END IF(其中ELSE及其后面的语句可以省略,只考虑条件成立的情况)

示例:

Sub IF语句()

If 1 > 2 Then MsgBox "1大于2"

Else MsgBox "1不大于2"

End If

End Sub

这段程序中,sub与end sub 代表程序的开始与结束,中间过程就是一段IF语句,If开头,end if 结尾,固定搭配(VBA中程序会自动纠正大小写,这点还是非常友善的);

这里的判断条件是【1>2】 ,显示条件是错的,1小于2,所以Then后面的语句无法执行,执行else后面的语句,在工作簿窗口中显示了“1不大于2”,msgbox关键字的功能就是在Excel工作簿界面弹出一个窗口,并显示输入的文字。

在代码视图中可以按【F8】按钮,一行一行执行代码。

ExcelVBA入门系列,1分钟了解IF语句及其小技巧

else后面的冒号可省略

IF语句中的else语句及其后面的内容可以省略,即【IF 判断条件 THEN 条件成立的结果 END IF】,只显示条件成立的结果,条件不成立,不做任何处理。

多条件IF

语法:

If判断语句Then条件成立结果

ElseIf判断语句Then条件成立结果

ElseIf判断语句Then条件成立结果

.................

ELSE条件不成立结果END IF

其中【ElseIf 判断语句 Then 条件成立结果】可以重复条件多次,这样就可以判断多次。

示例:

Sub IF语句()

If 1 > 2 Then MsgBox "1大于2"

ElseIf 1 = 2 Then MsgBox "1等于2"

Else MsgBox "1不大于2"

End If

End Sub

在上面单条件的基础上,我们多加入一个判断语句,程序在判断前面两个条件都不满足之后直接执行了else语句后面的程序。

ExcelVBA入门系列,1分钟了解IF语句及其小技巧

有必要强调的一点是:

if条件是可以用and和or连接使用的,如:

Sub IF语句()

If 1 > 2 Or 1 > 0 Then MsgBox "1大于2或者1大于0"

Else MsgBox "1不大于2也不大于0"

End If

End Sub

运行程序会显示"1大于2或者1大于0",因为1大于0成立。

经典案例——多条件判断学生成绩

在介绍完IF语句的基本用法之后,我们在看一个IF语句在Excel中的一个经典案例。

根据学生分数,按照右边的判断标准来确定学生成绩,如果用Excel函数IF函数的话,需要嵌套4个if语句,繁琐且容易出错,这里我们用VBA里面的IF语句,逐句书写,条理清晰,一键判断。

ExcelVBA入门系列,1分钟了解IF语句及其小技巧

 

代码明细如图中所示,其中的for ......next是个循环语句,不是今天介绍的重点,感兴趣的小伙伴可以留意后面的教程;cells代表单个单元格的意思,cells(1,2)代表着单元格第一行第二列,依次类推。

代码逻辑基本同多条件判断,输入完代码之后,直接点击运行程序按钮,可以发现,工作簿成绩列已经被输入正确内容!

ExcelVBA入门系列,1分钟了解IF语句及其小技巧

标签: excel VBA那点事

Office教程网 Copyright © 2016-2020 www.office26.com. Some Rights Reserved. 备案号:滇ICP备16002327号