VB 新手 求 if/elseif/end if 解答

(前面省略)
If x = 0 Then MsgBox "true"
If x <> 0 Then MsgBox "false"
End Sub

1. 这段i f 部 分 ,用elseif 怎么写呢?
2. 加 end if 会 显 示 错 误 “e n d i f没 有 块 i f ” ,应 该 怎 么 加 ? 谢 谢 啦 > V <

第1个回答  2013-03-12
这些人,就不看题目吗?楼主问的是 elseif ,而不是 else 或其他

楼主的代码使用elseif,这样写:

If x = 0 Then
MsgBox "true"
ElseIf x <> 0 Then
MsgBox "false"
End If

什么时候用 end if ?

简单的说,if的 条件 和 结果 写成一行,就不用end if ,比如:
If x = 0 Then MsgBox "true"
可以将多个结果都放到 条件 这一行,用 冒号 分割,比如:
If x = 0 Then MsgBox "true" :msgbox "x=0"

有“否则”的情况即else,写到一行内,也不用endif ,比如:
If x = 0 Then MsgBox "true" else msgbox "False"
再比如:
If x = 0 Then MsgBox "a": MsgBox "b" Else MsgBox "c": MsgBox "d"

而 条件 和 结果 分成多行写,就需要 end if ,比如:
If x = 0 Then
MsgBox "true"
End If
再比如:
If x = 0 Then
MsgBox "true"
msgbox "x=0"
end if
再比如:
If x = 0 Then
MsgBox "a"
MsgBox "b"
Else
MsgBox "c"
MsgBox "d"
end if本回答被提问者和网友采纳
第2个回答  2013-03-12
VB的 If 语句的归纳:
1,行 If 语句
格式1:
If <条件表达式> Then 语句
格式2:
If <条件表达式> Then 语句1 Else 语句2
2,块 If 语句
If <条件表达式1> Then
语句块1
[ElseIf <条件表达式2> Then
语句块2
......
ElseIf <条件表达式n> Then
语句块n]
[Else
语句块n+1]
End If
由块If语句,可以演变出:
If <条件表达式> Then
语句块
End If

If <条件表达式> Then
语句块1
Else
语句块2
End If

要这么去理解,为什么行 If 语句不需要End If,而块 If 语句需要End If?
道理很简单,语句是一行一行执行的,对于行 If 语句,本身就是一行,执行完了它,就执行接下来一行。但是,块 If 语句涉及多行,当进入块 If 语句,系统就无法预知该块 If 语句到底有多少行,所以必须以End If来告知系统,本次块 If 语句的结束。
第3个回答  2013-03-12
If x = 0 Then MsgBox "true" Else MsgBox "false"
或者:
If x = 0 Then
MsgBox "true"
Else
MsgBox "false"
End if
第4个回答  2013-03-12
Private Sub Command1_Click()
Dim x As Integer
x = 1
If x = 0 Then
MsgBox "true"
Else
MsgBox "false"
End If
End Sub
-----------------------------------------------------------------------------------------------
Private Sub Command1_Click()
Dim x As Integer
x = 1
If x = 0 Then
MsgBox "等于0"
Else
If x < 0 Then
MsgBox "小于0"
Else
MsgBox "大于0"
End If
End If

End Sub
第5个回答  2013-03-12
应该是这样:

If x = 0 Then
MsgBox "true"
else
x <> 0 Then MsgBox "false"
endif
相似回答