VBA程序太大,只有第一个程序工作

那么在写了一个大的代码并运行之后,我得到了这个消息

程序太大。

经过一番研究,我发现我可以这样编写代码:

Sub mycode() Call proc1 Call proc2 Call proc3 End sub Sub proc1() 'the code End sub Sub proc2() 'the code End sub Sub proc3() 'the code End sub 

这正是我所做的,但不幸的是只有正在执行的PROC1代码。

我怎样才能运行整个代码:PROC1然后PROC2然后PROC3?

你必须在proc1的某个地方有End关键字:

 '// some code here '// some more code End 

将其replace为:

 '// some code here '// some more code Exit Sub 

这将把控制权返回给调用程序。


如果没有足够的理由,自己的End单词将停止执行,而不会将控制权交还给调用过程。

作为一个便笺,在VBA中不需要使用Call关键字,只是出于传统目的。