excel vba 里exit sub跳不出子程序,而且经过exit sub到了该子程序中的end if ,之后又跳到了end sub,而且经过end sub也跳不出该子程序,又跳到了end if ,且经过几次end if 后,在该程序中又接着运行了,造成了死循环。跳的先后顺序用注释标明了。代码大致如下:
sub 匹配(w)
if .......then
...
end if '2 '5
......... '6
if .... then
if w > 10 then
call 匹配(w)
else
call 匹配成功()
exit sub '1
end if
end if '3
end sub '4
建议上源代码看看
从目前看到的情况,你匹配(w)里一些情况下又call了匹配(w),这样容易出问题的。多重条件判断的,建议使用select case或者 先将不同情景赋予id(如aabb),再用select case。这样进行瘦身看看~
如果没有后续代码的话,这个应该可以在匹配成功()中直接用end,直接结束代码运行