CreatePivotTable()上奇怪/不稳定的行为
我正在编写VBA代码来在Excel中自动执行一些进程,而且遇到了一个非常奇怪的行为,我一直无法find文档/帮助。
我有一个程序MAJ_GF
首先执行函数GF.Update
,检查结果,然后启动程序GF.Build
(基本上从不同的工作表中取得GF.Update
获得的数据,并用它做了一堆东西)。
在某些时候,这“一堆东西”需要使用数据透视表,所以GF.Build
包含以下行:
Set pvt = ThisWorkbook.PivotCaches.Create(xlDatabase, _ "'source_GF'!R1C1:R" & j & "C" & k).CreatePivotTable("'TCD_GF'!R4C1", "GFTCD1")
奇怪的行为是这样的:
- 当我运行
MAJ_GF
,VBA正确的执行了GF.Update
,然后启动GF.Build
,然后停在上面描述的那一行,抱怨“Bad argument or procedure call” - 当我手动运行
GF.Update
,然后手动运行GF.Build
,一切顺利,GF.Build
做了它必须做的事情从头到尾没有错误 - 甚至更奇怪的是,当我在犯罪行上设置一个断点时,运行
MAJ_GF
然后VBA按照预期暂停,当我说“继续”时…它只是顺利地继续,没有错误!
我把它转过来,仔细检查每个variables的值,这是没有意义的。
任何人的想法?
我的想法很less有想法:
- 后台还在进行一些更新。 尝试
DoEvents
和Application.Wait
之前你提到的行 - 另外检查,如果任何数据连接能够在后台更新 – 如果是这样,禁用后台刷新
- 很less(通常在旧版本和涉及图表时),取消隐藏Excel窗口(如果您使用
Application.Visible = False
并启用ScreenUpdating
帮助.. - 你是否使用任何“异国情调”的引用/加载项? 禁用它们,看看问题是否存在。
- 尝试重新启动您的机器
不是我太乐观,要么解决你的问题 – 但试试吧! 祝你好运!