快捷搜索:  汽车  科技

怎样才能跳出if语句(如何返回两个选项中的一个)

怎样才能跳出if语句(如何返回两个选项中的一个)上图为使用IFF函数,根据行号计算(Row)设置行间隔的不同颜色和值。下面以一个实例来了解一下,应用IIF函数之后有什么神奇之处。IIF函数语法IIF函数有3个参数项:可以理解为函数对条件计算表达式进行计算,如果结果为真返回第二个参数值,如果结果为假返回第三个参数值 。

No.1

对于条件判断,VBA编程提供了一些内置函数,如判断语句If...Then...End

、If...Then...Elseif...End等等。

if语句应用虽然方便,如果一个判断只有两个项目,非此及彼,用一个函数来进行判断,就显得更加简洁方便。

下面介绍一个函数IIF,此函数对两条件进行判断,然后根据条件返回两个结果中的一个。

怎样才能跳出if语句(如何返回两个选项中的一个)(1)

No.2

IIF函数语法

怎样才能跳出if语句(如何返回两个选项中的一个)(2)

IIF函数有3个参数项:

  1. 第一个Expr, 必选项,是条件计算的表达式。
  2. 第二个TruePart,必选项,当条件判断为真时,返回的值或表达式。
  3. 第三个FalsePart,必选项,当条件判断为假时,返回的值或表达式。

可以理解为函数对条件计算表达式进行计算,如果结果为真返回第二个参数值,如果结果为假返回第三个参数值 。

No.3

下面以一个实例来了解一下,应用IIF函数之后有什么神奇之处。

怎样才能跳出if语句(如何返回两个选项中的一个)(3)

上图为使用IFF函数,根据行号计算(Row)设置行间隔的不同颜色和值。

对行号进行取余计算,如果计算余数为0则设置单元格值为0,背景颜色为蓝色。

如果取余数计算结果不为0,则背景颜色为黄色,单元格值为1。

同理,可以使用IFF函数根据列号(Column)计算,设置列间隔的不同颜色和值。

如下图所示:

怎样才能跳出if语句(如何返回两个选项中的一个)(4)

No.4

代码

怎样才能跳出if语句(如何返回两个选项中的一个)(5)

行间隔代码

Private Sub CommandButton1_Click() Application.ScreenUpdating = False Dim cell As Range xcell As Range Set cell = Range("B2:P20") cell.Clear For Each xcell In cell With xcell .Value = IIf(xcell.Row Mod 2 0 1) .Interior.ColorIndex = IIf(xcell.Row Mod 2 8 6) .Borders(xlEdgeBottom).LineStyle = IIf(xcell.Row Mod 2 1 0) .RowHeight = 20 .ColumnWidth = 8 End With Next xcell Application.ScreenUpdating = True End Sub

列间隔代码

Private Sub CommandButton2_Click() Application.ScreenUpdating = False Dim cell As Range xcell As Range Set cell = Range("B2:P20") cell.Clear For Each xcell In cell With xcell .Value = IIf(xcell.Column Mod 2 0 1) .Interior.ColorIndex = IIf(xcell.Column Mod 2 14 19) .Borders(xlEdgeRight).LineStyle = IIf(xcell.Column Mod 2 1 0) .RowHeight = 20 .ColumnWidth = 8 End With Next xcell Application.ScreenUpdating = True End Sub

两个功能代码大同小异,只有在参数Expr表达式有一些不同,一个行除以2求余数,另一个列号除以2求余数。

Rang.Value = IIf(xcell.Row Mod 2 0 1)

表达式:xcel.Row Mod 2'求余数

真:0

假:1

如果表达式值为真,就返回0,假返回1。

结尾

IIF函数具有很好的特殊应用性,二选一的情况下,不必要使用If..Else语句。

If..Else语句应用于多选选择情况下,如果条件成立,否则就...。

不是二选一的功能,它是如果条件成立就不定其它的功能,所以区别还是很大的。

欢迎关注、收藏

---END---

猜您喜欢: