2015-11-25 98 views
1

我正在嘗試使用另一個人創建的某個VBA,它給了我一個我似乎無法修復的錯誤。下面的代碼:在無法獲得工作表類的數據透視表屬性

Sub Format_Homeward_V3() 
' Format_Homeward_V3 Macro 
    ChDir "J:\Templates" 
    Workbooks.Open Filename:= _ 
     "J:\Templates\Homeward_Exception_Report_Template_Final.xlsx" 
    Workbooks.Open Filename:= _ 
     "J:\Templates\Homeward_Inventory_Report_Template_Final.xlsx" 
    Range("A4").Select 
    Sheets("Homeward_Summary").PivotTables("MyPivot").PivotCache.Refresh 
    Sheets("Detail").Select 
    Range("A1").Select 

它的錯誤了:

Sheets("Homeward_Summary").PivotTables("MyPivot").PivotCache.Refresh 

,並給出了錯誤:

"unable to get the pivottables property of the worksheet class"

但據我可以告訴它正在尋找合適的板材和數據透視表的正確名稱。我也試着做.RefreshTable而不是緩存刷新,但得到了同樣的錯誤。我不知道爲什麼它會給我這個錯誤,而且我不知道還有什麼可以嘗試的。它一直在沒有這個錯誤的工作。

+0

你得到了什麼號碼,當你'? Sheets(「Homeward_Summary」).PivotTables.Count'在立即窗口中? –

+0

@ScottHoltzman 1 – msim

+0

你確定數據透視表的名字是你認爲的嗎?如果你右鍵點擊數據透視表,然後轉到屬性名稱說什麼?或者你可以在'立即窗口'中的'Sheets(「Homeward_Summary」).PivotTables(1).Name'獲取名稱。 –

回答

1

確保所有被引用,那麼有沒有猜測哪些工作簿或片狀您要處理(原諒速記,根據需要改變)

Sub Format_Homeward_V3() 
Dim wbe As Workbook 
Dim wbi As Workbook 
Dim ws As Worksheet 
Set wbe = Workbooks.Open("J:\Templates\Homeward_Exception_Report_Template_Final.xlsx") 
Set wbi = Workbooks.Open("J:\Templates\Homeward_Inventory_Report_Template_Final.xlsx") 
Set ws = wbi.Sheets("PIVOT") 
ws.Range("A4").Select 
ws.PivotTables("MyPivot").PivotCache.Refresh