簡體   English   中英

VBA代碼僅成功運行一次

[英]VBA code runs successfully only once

我正在嘗試運行下面的代碼,它運行正常並且可以完成工作,但是只有一次。 然后,它開始引發運行時錯誤1004:應用程序或對象定義的錯誤。 上下文:我有大約15個數據透視表,涉及10個工作表,每周更新一次。 我每周都會更改源數據,並且希望更新數據透視表。

Sub UpdateReports()

Dim wb As Workbook
Dim PT As PivotTable, PTCache As PivotCache, newPT As PivotTable

Set wb = Application.Workbooks("Open items VIM Analytics September 16th, 2016.xlsx")
Set PTCache = wb.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=wb.Worksheets("Vim open items 09.09.2016").Range("a:au"))
Set PT = wb.Worksheets("Per Location").PivotTables("PivotTable3")
Set newPT = wb.Worksheets("Per Location").PivotTables.Add(PivotCache:=PTCache, TableDestination:=wb.Worksheets("Per Location").Range("a200"))

PT.CacheIndex = newPT.CacheIndex

End Sub

我正在錯誤

Set newPT = wb.Worksheets("Per Location").PivotTables.Add(PivotCache:=PTCache, TableDestination:=wb.Worksheets("Per Location").Range("a200"))

如果這樣就行了

Set newPT = wb.Worksheets("Per Location").PivotTables.Add(PivotCache:=PTCache, TableDestination:=wb.Worksheets("Per Location").Range("a200"))

由於它已經具有相同的名稱,因此無法創建數據透視表。 我建議嘗試在添加舊表之前明確指定名稱或將其刪除。

您仍然可以嘗試將舊表與新緩存鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM