如何用VBA 解决判断和选择问题?

听过VBA代码吗?羡慕能用代码高效办公的人吧!VBA代码远没有大家想象的那么难,跟着小编学一起学吧!

Excel中的选择问题

周末去郊游还是看电影?得由天气情况决定,天气不同,选择的约会项目也不同。
类似的选择问题都可以用“如 果……那 么……否 则……”这组关联词来描述,都是从已有的两种方案中选择一个,属于“二选一”的选择题,如图 4 - 2 所示。
图 4-2 周末计划
类似的问题,在Excel中也不少:
“如果B 2 中的数值达到 60,那么在C 2 写入'及格’,否则在C 2 写入'不及格’。”
“如果单元格中保存了数据,那么为该单元格添加边框线,否则不设置边框线。”
“如果工作簿中没有名称为'汇总’的工作表,那么新建一张名称为'汇总’的工作表,否则不执行任何操作。”
……
像这种根据条件,从多种操作或计算中选择一个的问题称为选择问题。

解决简单的“二选一”问题

用 VBA 中的 IIF 函数解决简单的“二选一”问题。
“如果B 2 中的数值达到 60,那么在C 2 中输入'及格’,否则在C 2 中输入'不及格’。”这是一个为B 2 中保存的成绩评定等次的问题,如图 4-3 所示。
图 4-3 判断成绩是否及格
这个问题可以用VBA中的IIF函数解决,IIF函数的功能和用法与工作表中的IF函数类似,语句结构为:
IIF( 比较运算式 , 操作或计算 1, 操作或计算 2)
IIF函数有 3 个参数,当第 1 参数的比较运算式返回TRUE时,执行第 2 参数的操作或计算,否则,执行第 3 参数的操作或计算。如果要用IIF函数解决本例中的问题,可以将过程写为:
Sub 用 IIF 函数判断成绩是否及格 ()
Range('C2').Value = IIf(Range('B2').Value >= 60, ' 及格 ', ' 不及格 ')End Sub
如当比较运算式返回的结果为TRUE时,需要执行几步、几十步甚至更多操作时,就不适合使用该函数来解决,对这种较为复杂的选择和判断问题,通常会使用专用的语句结构来解决。

学会了吗?快速提高你的效率吧!从此变“excel一秒超人”!

*注:本文部分图片来源于互联网,仅供学习、交流使用。不具有任何商业用途,若有侵权,请联系删除。

(0)

相关推荐