vba 里用exit sub为什么跳不出子程序?

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,直接结束代码运行