在我的代码上定义 PivotCache 时,我发现这个问题“运行时错误 '5' 无效的过程调用或参数”。我使用的 Excel 是 2016 MSO (16.0.4266.1001) 32 位。 VBA 7.
'Declare Variables
Dim PSheet As Worksheet
Dim DSheet As Worksheet
Dim PCache As PivotCache
Dim PTable As PivotTable
Dim PRange As Range
Dim LastRow As Long
Dim LastCol As Long
'Sort Age of Case
LastRow = Cells(Rows.Count, 2).End(xlUp).Row
Range("M" & LastRow).Sort Key1:=Range("M3:M" & LastRow), _
Order1:=xlAscending, Header:=xlYes
'Insert a New Blank Worksheet
On Error Resume Next
Application.DisplayAlerts = False
Worksheets.Add(After:=Worksheets(1)).Name = "US MASTER"
Application.DisplayAlerts = True
Set PSheet = Worksheets("US MASTER")
Set DSheet = Worksheets("US Master Macro")
'Define Data Range
LastRow = DSheet.Cells(Rows.Count, 1).End(xlUp).Row
'
'Pivot Table 1
'
'Define Pivot Cache
Set PCache = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=PRange)
'Insert Blank Pivot Table
Set PTable = PCache.CreatePivotTable _
(TableDestination:=PSheet.Range("B3"), TableName:="Total Backlog")
当创建一个PivotCache
, MSDN建议使用String
指定工作簿、工作表和单元格范围的参考SourceData
,而不是传递Range
object.
而不是使用PRange
(你忘记了Set
此处),您可以使用 R1C1 表示法,例如这个答案建议。
LastRow = DSheet.Cells(Rows.Count, 1).End(xlUp).Row
LastCol = DSheet.Cells(1, Columns.Count).End(xlToLeft).Column
... SourceData:="'US Master Macro'!R1C1:R" & LastRow & "C" & LastCol
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)