我有以下代码用于在我的工作簿中创建一组列的数据透视表。
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
newname, Version:=6).CreatePivotTable TableDestination:= _
newname & "!R7C1", TableName:=PivotTableName, _
DefaultVersion:=6
这段代码在我的机器和许多其他人的机器上运行得非常好。但对于少数人来说,这是抛出运行时错误 5:无效的过程调用或参数。可能是什么问题?
最佳答案
来自 PivotCaches.Create
docs :
参数
姓名
必需/可选
数据类型
描述
版本
可选的
变体
数据透视表的版本。版本可以是 XlPivotTableVersionList
之一常数。
xlPivotTableVersionList包括以下值:
姓名
值(value)
描述
xl数据透视表版本2000
0
Excel 2000
xlPivotTableVersion10
1
Excel 2002
xlPivotTableVersion11
2
Excel 2003
xlPivotTableVersion12
3
Excel 2007
xlPivotTableVersion14
4
Excel 2010
xlPivotTableVersion15
5
Excel 2013
xlPivotTableVersionCurrent
-1
仅提供向后兼容性
我怀疑新版本的 Excel 可能会接受 6
和 up 作为参数,但 2013 不应该。在任何情况下,这是一个可选参数,可以安全地省略。
最有可能DefaultVersion:=6
也可以省略。
旁注:建议拆分 PivotCache
和 PivotTable
创作分为两步。
Dim pCache As PivotCache
Set pCache = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:= newname)
Dim pTable As PivotTable
Set pTable = pCache.CreatePivotTable
TableDestination:=newname & "!R7C1", _
TableName:=PivotTableName)
关于excel - 创建数据透视表的过程或调用无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69032905/