我正在编写 VBA 代码来自动化 Excel 中的一些流程,但我遇到了一个非常奇怪的行为,我无法找到文档/帮助。
我有一个程序MAJ_GF
,它首先执行 function 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
,并在上述行停止并抱怨“错误的参数或过程调用” - 当我手动运行
GF.Update
,然后手动运行GF.Build
时,一切都很顺利,并且GF.Build
从头到尾完成了它必须做的事情,没有错误 - 更奇怪的是,当我在犯罪线上设置断点时,运行
MAJ_GF
然后 VBA 按预期在该线上暂停,当我说“继续”时......它只是顺利地继续,没有错误!
我把它转来转去,仔细检查了每个变量的值,这没有任何意义。
任何人的想法?