我有一个Excel报告,需要准备许多步骤。为了自动化,我录制了一个Macro。我一直在仔细检查生成的代码,以进行一些较小的修正,例如从中创建表CurrentSelection
而不是硬编码值,并在计算的日期而不是硬编码的日期上进行过滤。
在此过程中创建第三个数据透视表时,出现以下错误:
运行时错误“ 5”:
无效的过程调用或参数
该帮助建议要么越界值,要么对某个平台有效,但不适用于另一平台。但是,由于这是生成代码,因此都不适用。以下是相关代码:
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Table3", Version:=6).CreatePivotTable TableDestination:= _
"On Time Pivot!R3C16", TableName:="PivotTable12", DefaultVersion:=6
Sheets("On Time Pivot").Select
Cells(3, 16).Select
我没有碰过这段代码,第一行引发了错误。我通常不使用VBA。我发现VBA文档非常混乱,并且如何调试它迷茫了。有任何想法吗?
遵循Sandor答案中的链接,因此更改了数据透视表创建代码:
Dim pvt_cache As PivotCache
Dim pvt As PivotTable
Dim src_data As String
Dim pvt_location As String
src_data = "Table3"
pvt_location = "On Time Pivot!P3"
Set pvt_cache = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, SourceData:=src_data)
Set pvt = pvt_cache.CreatePivotTable( _
TableDestination:=pvt_location, TableName:="PivotTable12")
Cells(3, 16).Select
我现在在致电所在的行上收到错误5 CreatePivotTable
。
该问题已解决,但未令人满意。关于错误设置过滤器的不同数据透视表会随机出现一个不同的错误。由于我找不到任何错误,因此每次运行宏时手动修复过滤器都没什么大不了的,并且它突然开始出现在我没有碰过的代码中,因此将其包围在on error resume next
和中on error goto 0
。从那时起,所有错误消息立即停止,并且宏已经正常工作。我无法想象该如何解决它,但是我搞砸了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句