VBA正在将数据透视表的源数据更新到行的末尾
我试图弄清楚,当数据使用VBA更改时,如何将数据透视表源数据更新到行的末尾。我目前的代码如下:VBA正在将数据透视表的源数据更新到行的末尾,vba,excel,excel-2007,Vba,Excel,Excel 2007,我试图弄清楚,当数据使用VBA更改时,如何将数据透视表源数据更新到行的末尾。我目前的代码如下: Dim shBrandPivot As Worksheet Dim shCurrentWeek As Worksheet Dim shPriorWeek As Worksheet Dim shPivot As Worksheet Dim lr As Long Set shBrandPivot = ActiveWorkbook.Sheets("Brand Pivot") Set shCurrentW
Dim shBrandPivot As Worksheet
Dim shCurrentWeek As Worksheet
Dim shPriorWeek As Worksheet
Dim shPivot As Worksheet
Dim lr As Long
Set shBrandPivot = ActiveWorkbook.Sheets("Brand Pivot")
Set shCurrentWeek = ActiveWorkbook.Sheets("Current Week")
Set shPriorWeek = ActiveWorkbook.Sheets("Prior Week")
Set shPivot = ActiveWorkbook.Sheets("Pivot")
lr = shCurrentWeek.Range("A" & Rows.Count).End(xlUp).Row
With ActiveWorkbook.Sheets("Pivot").Activate
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:="CurrentWeek!A3:X & lr"
End With
我收到的错误是运行时错误1004:无法打开数据透视表源文件:E:\offline\KXM2103\Data\CurrentWeek若要以VBA独占方式执行此操作,可以尝试此操作
Dim shBrandPivot As Worksheet
Dim shCurrentWeek As Worksheet
Dim shPriorWeek As Worksheet
Dim shPivot As Worksheet
Dim lr As Long
dim rng as range
Set shBrandPivot = ActiveWorkbook.Sheets("Brand Pivot")
Set shCurrentWeek = ActiveWorkbook.Sheets("Current Week")
Set shPriorWeek = ActiveWorkbook.Sheets("Prior Week")
Set shPivot = ActiveWorkbook.Sheets("Pivot")
lr = shCurrentWeek.Range("A" & Rows.Count).End(xlUp).Row
set rng = shcurrentweek.range("A3:X" & lr)
With shPivot.PivotTables(1).PivotCache
.SourceData = rng.Address(True, True, xlR1C1, True)
.Refresh
End With
是否可以使用动态定义的范围,然后在代码中简单地刷新透视表?您的数据是如何更新的?@scott目前,我的数据正在通过“选项->更改源数据”手动更新。我正在考虑尝试您讨论过的方法,但我想看看是否有专门通过VBA实现的方法。我在xlPivotTableVersion14(变量未定义)上遇到一个编译错误,编辑它只是为了删除版本并坚持默认行?你的工作表上有数据透视表吗?是的,我有数据透视表。我在工作表(“pivot”)上收到它。数据透视表(1)。ChangePivotCache活动工作簿。\u创建(SourceType:=xlDatabase,SourceData:=rng)让我们