我已經編寫了下面的代碼來編輯兩個數據透視表的範圍。直到明星行我的代碼正常運行,但是我得到一個「運行時錯誤'1004':應用程序定義或對象定義」錯誤.PivotCache.SourceData = rng.Address(True, True, xlR1C1, True)
行。我不知道錯誤的原因是什麼,因爲我複製了上面的代碼,只改變了表名和數據透視表名(它們都存在於我的文件中)。任何幫助?.PivotCache.SourceData導致應用程序或對象定義的錯誤
Dim RowCount As Integer
Dim ColCount As Integer
Dim rng As Range
Dim CurrentPeriod As String
Dim PivotList As Variant
Dim Piv As String
Dim PivotSht As String
Dim PivotNme As String
RowCount = WorksheetFunction.CountA(Sheets("Data").Range("A:A"))
ColCount = WorksheetFunction.CountA(Sheets("Data").Range("1:1"))
Set rng = Sheets("Data").Range(Sheets("Data").Cells(1, 1), Sheets("Data").Cells(RowCount, ColCount))
CurrentPeriod = Sheets("Static").Range("CurrentPeriod")
With Sheets("Val Cat Current Returns (Adj)").PivotTables("CatCurrentPivot1")
.PivotCache.SourceData = rng.Address(True, True, xlR1C1, True)
.PivotFields("Period_id").CurrentPage = CurrentPeriod
.PivotCache.Refresh
End With
**********************************
With Sheets("Val Cat Trend Returns (Adj)").PivotTables("CatTrendPivot1")
.PivotCache.SourceData = rng.Address(True, True, xlR1C1, True)
.PivotCache.Refresh
End With
在黑暗中拍攝..試試這個......'.PivotCache.SourceData =表格(「Data」)。Name&「!」 &rng.Address(True,True,xlR1C1,True)' –
感謝您的建議,但仍然收到相同的錯誤。 – user3737057
我測試了代碼,你的代碼適合我。雖然我不贊成你如何找到最後一行和最後一列。 '表格(「數據」),單元格(RowCount,ColCount)'。如果A欄中有一個空白單元格,那麼你的行數將會減少。我會建議使用[This](http://stackoverflow.com/questions/11169445/error-in-finding-last-used-cell-in-vba)找到最後一行和最後一列來構建你的範圍 –