出现运行时错误-2147417848(80010108),需要处理大量数据

时间:2015-04-16 12:14:39

标签: excel vba

我对我创建的Excel宏有疑问。宏非常复杂(7个模块,大约2500行代码),它用于自动将托盘分配给卡车并对其进行正确分类。它适用于99%的情况,但最近它必须为一个方向分配超过1200个托盘,它停止工作。

奇怪的是,通常它可以处理更多的方式,但只有当它分裂为不同的方向时。它也不是在一个地方崩溃,但有时在1108和1111之间建造托盘编号1108等等。

崩溃也很奇怪。在我开启"打破所有错误"它只是退出Sub,它当时处理,返回到第一个,然后处理剩下的代码而不执行它(忽略每个变量,每个If等)唯一的工作线是消息框。之后Excel也没有响应。

我正在声明每个变量,我在每个模块上都有Option Explicit我使用的公共变量和很多本地? (整个模块中没有跨越项目的那些)。

主要是在这条线上崩溃:

w2.Cells(r, 4).delete Shift:=xlUp  

其中w2设置为:

Set w2 = Workbooks(wb1).Worksheets("SDP Temp")

你有没有遇到过这样的事情?

2 个答案:

答案 0 :(得分:0)

0x80010108  RPC_E_DISCONNECTED  The object invoked has disconnected from its clients.

这意味着什么。 COM使用RPC进行进程。

答案 1 :(得分:0)

我设法找到了解决问题的方法。

当代码执行时,在目录完成之前,他从未真正退出SUB。 因此,当有超过28辆卡车时,它有大约50个潜艇在后台打开。

当我修改代码以便在使用它们之后正确关闭它时它开始正常工作。