我对我创建的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")
你有没有遇到过这样的事情?
答案 0 :(得分:0)
0x80010108 RPC_E_DISCONNECTED The object invoked has disconnected from its clients.
这意味着什么。 COM使用RPC进行进程。
答案 1 :(得分:0)
我设法找到了解决问题的方法。
当代码执行时,在目录完成之前,他从未真正退出SUB。 因此,当有超过28辆卡车时,它有大约50个潜艇在后台打开。
当我修改代码以便在使用它们之后正确关闭它时它开始正常工作。