excel交流 发表于 2017-9-20 01:33:04

09-程序流程控制—>if语句的介绍

本帖最后由 excel交流 于 2017-9-20 01:34 编辑

1、if—then语句
  这个句式相当于中文里面的“如果.......那么”。
  格式:
    if逻辑表达式 then
                              语句块
             end if
    解释:如果逻辑表达式的结果为true,则执行语句块里的所有语句,否则执行end if后面的语句。语句块可以是一句指令或多条指令,也可以调用一个或多个过程,当然,也可以为空,就是没有语句。
  如:要判断A1单元格是否已输入内容,设计程序:

Sub test1()
If = "" Then
      MsgBox "A1单元格没有输入任何内容!"
End If
End Sub
 2、 if—then—else语句  
  这个语句相当于中文里面的“如果......那么......否则......”句式。
  格式:

    if逻辑表达式 then
                              语句块1
    else
                              语句块2
            end if

       解释:如果逻辑表达式的结果为true,则执行语句块1里的所有语句,如果逻辑表达式的结果为Flase则执行语句块2里的所有语句。
  如:要判断A1单元格是否已输入内容,设计程序:

Sub test2()
If = "" Then
      MsgBox "A1单元格没有输入任何内容!"
Else
      MsgBox "A1单元格已经输入了内容!"
End If
End Sub
 3、if—then—elseif语句
  这就相当于中文里面的若“如果…那么…否则如果…那么…否则”语句,当然,可以有多句“否则如果.......”
  格式:
    If逻辑表达式1 Then
                              语句块1
                  ElseIf逻辑表达式2Then
                              语句块2
                  ElseIf逻辑表达式3Then
                              语句块3
                   …
               Else
                           语句块n
               Eed If
  解释:若逻辑表达式1的结果为True,则执行语句块1,接着继续执行EndIf后面的语句;若逻辑表达式1的结果为False,则检查逻辑表达式2的结果,若为True则执行语句块2,接着继续执行EndIf后面的语句.......一直到所有结果的条件都不满足时,才执行Else后面的语句块n。
  如:要判断A1单元格的数是否能被2、3、5其中之一整除,设计程序:

Sub test3()
   If = "" Then
       MsgBox "A1单元格没有输入任何内容!"
   ElseIf Mod 2 = 0 Then
       MsgBox "A1单元格的数能被2整除!"
   ElseIf Mod 3 = 0 Then
       MsgBox "A1单元格的数能被3整除!"
   ElseIf Mod 5 = 0 Then
       MsgBox "A1单元格的数能被5整除!"
   Else
       MsgBox "A1单元格的数不能被2、3、5其中之一整除!"
   End If
End Sub


页: [1]
查看完整版本: 09-程序流程控制—>if语句的介绍