vba单一过程允许的最大长度是有限制的,好像是64K,你把代码单独存放在一个txt文件里就知道此代码具体有多大了。 为了克服这个问题,可以把代码分解成若干个子过程。如果是有结构嵌套,可以把需要嵌套的过程定义为子过程或子函数。如果看不出明显的结构层次,最简单的办法是把代码人为分成两个或多个,就像下面的这样: sub 过程1() 过程1的代码 call 过程2() call 过程3() end sub sub 过程2() 过程2的代码 end sub sub 过程3() 过程3的代码 end sub 你就把上面过程1、过程2、过程3看成是你现在代码的整体,按照功能段落人为切割成若干小段落分开保存,运行时按照顺序依次执行过程1、过程2、过程3即可。唯一需要注意的是变量需要再次处理,因为在过程1中的变量在过程2和过程3中是不可见的,需要分别在过程2、过程3中再次获取才能继续使用;