VBA程序太大,只有第一个程序有效

时间:2016-08-03 10:05:13

标签: excel vba excel-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 ????

1 个答案:

答案 0 :(得分:3)

您必须在proc1中的某处End关键字:

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

将其替换为:

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

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

它自己的End字将停止执行,而不会将控制权返回给调用程序,除非有充分的理由,否则不应该使用它。

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