这是我写的代码的一小部分。它似乎在最后一行抛出“BLOCK IF WITHOUT END IF”错误。在咨询了这个MSDN链接
之后,我在这里找不到错误 If Longs > 10 & Shorts > 10 Then
If Longs < Shorts Then
Pairs = Longs
Else
Pairs = Shorts
End If
Else
If Longs < 10 & Shorts > 10 Then
Shortfall = True
Pairs = 10
Else: Shortfall = False
Pairs = 10
End If
End Sub
任何帮助都将受到高度赞赏
答案 0 :(得分:2)
更改您的
Else
If Longs < 10 & Shorts > 10 Then
到
ElseIf Longs < 10 & Shorts > 10 Then
这样,您就不会不必要地嵌套If
构造,而只是在外部If
构造中添加额外条件。
像这样:
If Longs > 10 & Shorts > 10 Then
If Longs < Shorts Then
Pairs = Longs
Else
Pairs = Shorts
End If
ElseIf Longs < 10 & Shorts > 10 Then
Shortfall = True
Pairs = 10
Else
Shortfall = False
Pairs = 10
End If
哎呀,你甚至可以完整地保留它,即使它很难看:
Else: Shortfall = False
Pairs = 10
答案 1 :(得分:1)
您有3 If
但只有2 End If
,请将End Sub
更改为End If
。
如果您正确缩进代码,则会更容易看到:
If Longs > 10 & Shorts > 10 Then
If Longs < Shorts Then
Pairs = Longs
Else
Pairs = Shorts
End If
Else
If Longs < 10 & Shorts > 10 Then
Shortfall = True
Pairs = 10
Else
Shortfall = False
Pairs = 10
End If
' missing End If
End Sub
答案 2 :(得分:0)
更改
Else: Shortfall = False
进入
Else
Shortfall = False
Pairs = 10
end if