【发布时间】:2018-11-27 17:57:40
【问题描述】:
我正在尝试编写一个宏,用于在将新数据放入原始表时更新我的数据透视表。我不断收到错误,不知道如何解决。这是我到目前为止所拥有的。
Sub UpdatePivotTableRange()
Dim Data_Sheet As Worksheet
Dim Pivot_Sheet As Worksheet
Dim StartPoint As Range
Dim PivotName As String
Dim NewRange As String
Dim LastCol As Long
Dim lastRow As Long
Set Data_Sheet = ThisWorkbook.Worksheets("Data insert")
Set Pivot_Sheet = ThisWorkbook.Worksheets("CC_Users")
PivotName = PivotTable6 Data_Sheet.Activate
Set StartPoint = Data_Sheet.Range("A1")
LastCol = StartPoint.End(xlToRight).Column
DownCell = StartPoint.End(xlDown).Row
Set DataRange = Data_Sheet.Range(StartPoint, Cells(DownCell, LastCol))
NewRange = Data_Sheet.Name & "!" & DataRange.Address(ReferenceStyle:=xlR1C1)
Pivot_Sheet.PivotTables (PivotName)
ChangePivotCache.ActiveWorkbook PivotCaches.Create SourceType:=xlDatabase, SourceData:=NewRange Pivot_Sheet.PivotTables(PivotName).RefreshTable
Pivot_Sheet.Activate MsgBox "Your Pivot table is now updated" End Sub
谢谢
【问题讨论】:
-
你只是想刷新一个枢轴吗?如果是这样,请使用
RefreshAll -
不,我正在尝试让它自动化。将新数据放入表中时零触摸刷新。
-
所以当表格随worksheet_change发生变化时调用命令
-
您是将新条目粘贴到表格中(一次整行)还是逐个单元格地键入值?
-
我将复制并粘贴到表格中。一次整行。
标签: vba excel pivot-table