【发布时间】:2017-03-28 07:10:06
【问题描述】:
尊敬的专家,我正在尝试执行以下 VBA 代码来定义我的数据并刷新数据透视表,但我得到 已定义或对象定义的错误 1004。请指导我在下面做错的地方。
Sub Pivot()
Dim shPivot As Worksheet
Dim shData As Worksheet
Dim lr As Long
Dim lc As Long
Dim rng As Range
Set shPivot = ActiveWorkbook.Sheets("Data")
Set shData = ActiveWorkbook.Sheets("Pivot")
lr = shPivot.Range("A" & Rows.Count).End(xlUp).Row
Set rng = shPivot.Range(Cells(1, 1), Cells(lr, 32))
With shData.PivotTables("PivotTable1").PivotCache
.SourceData = rng.Address(True, True, xlR1C1, True)
.Refresh
End With
End Sub
【问题讨论】:
-
如果您告诉我们错误发生在哪里,通常会有所帮助!您需要使用:
Set rng = shPivot.Range(shPivot.Cells(1, 1), shPivot.Cells(lr, 32)) -
关注@Rory 也关注
lr = shPivot.Range("A" & shPivot.Rows.Count).End(xlUp).Row -
我在 .SourceData = rng.Address(True, True, xlR1C1, True) 上遇到错误