VB的if和elseif

VB中if和elseif的用法是:

if...then...elseif...then...else...endif

切记在then的后面不要加冒号,加了冒号出现else没有if的错误,因为加了冒号表示这个if只是执行then的语句就算执行完了,因此如下

 1 Sub test()
 2 Dim i As Integer
 3 Dim j As Integer
 4 Dim a
 5 For i = 1 To 2:
 6     Debug.Print ("这是第" & Str(i) & "次循环")
 7     a = InputBox("请输入")
 8     
 9     If a = "1" Then
10         MsgBox ("执行1")
11         Debug.Print ("执行1")
12     ElseIf a = "20" Then
13         MsgBox ("执行2")
14         Debug.Print ("执行2")
15     ElseIf a = "40" Then
16         MsgBox ("执行3")
17         Debug.Print ("执行3")
18     ElseIf a = "100" Then
19         MsgBox ("执行4")
20         Debug.Print ("执行4")
21     ElseIf a = "300" Then
22         MsgBox ("执行5")
23         Debug.Print ("执行5")
24     Else:
25         MsgBox ("什么都没有执行")
26         Debug.Print ("什么都没有执行")
27     End If
28 Next i
29 End Sub

如果是加了冒号那么只能是一个if:

 1 Sub test()
 2 Dim i As Integer
 3 Dim j As Integer
 4 Dim a
 5 For i = 1 To 2:
 6     Debug.Print ("这是第" & Str(i) & "次循环")
 7     a = InputBox("请输入")
 8     
 9     If a = "1" Then:
10         MsgBox ("执行1")
11         Debug.Print ("执行1")
12 
13 Next i
14 End Sub

如果是以下这样子就会报错:

 1 Sub test()
 2 Dim i As Integer
 3 Dim j As Integer
 4 Dim a
 5 For i = 1 To 2:
 6     Debug.Print ("这是第" & Str(i) & "次循环")
 7     a = InputBox("请输入")
 8     
 9     If a = "1" Then:
10         MsgBox ("执行1")
11         Debug.Print ("执行1")
12     ElseIf a = "2" Then:
13         MsgBox ("执行2")
14 Next i
15 End Sub

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券