“如果没有结束,则阻止”错误VBA

我试图通过其他答案,但似乎没有任何帮助我。 正如标题所述,我得到一个“如果没有结束,如果”块错误。 我试图把一个有条件的声明,如果它满足,结束子。 更具体地说,我正在格式化一次只能格式化一个作业的数据。 如果确定电子表格中有多个作业,我想自动结束这个子工作。 这是我到目前为止。

Sub SUBNAMEHERE (Lots of other code) JobNo = (code that figures out how many jobs there are) If JobNo > 1 Then MsgBox (warning message) End Sub End If (The rest of the code) 

如果有人能帮助我,这将是非常感激。

尝试Exit Sub而不是End Sub

当你说End Sub ,你告诉VB你已经完成了例程的定义。 所以如果你在这之前还没有结束,那么这将被认为是不完整的。

当然,即使你之前已经结束了If ,你几乎肯定会得到一个函数之外的代码的错误。 (我不知道VBA所有这一切..但这是VB的大多数风格工作。)

 Sub SUBNAMEHERE (Lots of other code) JobNo = (code that figures out how many jobs there are) If JobNo > 1 Then MsgBox (warning message) -------> End Sub <------ End If (The rest of the code) 

End Sub应该放在Sub的底部


正如你的评论者所指出的,你正在寻找的是Exit Sub