我怎样才能创build一个只有在不存在的情况下才创build数据透视表的VBA

我只是学习VBA,所以还不完全熟悉它。

我想创build一个dynamic范围数据透视表,只有在数据透视表不存在的情况下。 如果表已经存在,那么枢轴突出部分需要刷新。

到目前为止,我有这样的:

Sub CreatingPivot() Dim PCache As PivotCache, LastRow As Long, pt As PivotTable Dim ws As Worksheet On Error Resume Next Set ws = Sheets("Pivot") If Err.Number <> 0 Then Worksheets("Sheet1").Activate Set PCache = ActiveWorkbook.PivotCaches.Create(SourceType:=1, SourceData:=Range("A1").CurrentRegion.Address) Worksheets.Add ActiveSheet.Name = "Pivot" ActiveWindow.DisplayGridlines = False Set pt = ActiveSheet.PivotTables.Add(PivotCache:=PCache, TableDestination:=Range("A1"), TableName:="PivotTable1") Else Sheets("Pivot").RefreshTable End If End Sub 

尝试像这样:

 Dim PivTbl as PivotTable On Error Resume Next Set PivTbl = Sheets("Pivot").PivotTables("PivotTable1") On Error Goto 0 If PivTbl Is Nothing Then 'Create pivot table End If 'Do your stuff 

编辑评论/跟随问

刷新数据透视表不是工作表

 Dim PivTbl As PivotTable Set PivTbl = Sheets("Pivot").PivotTables("PivotTable1") PivTbl.RefreshTable