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