我一直在試圖自動化使用各種方法透視表,但每個人給我一個錯誤。這主要是由於我試圖創建一個變量範圍,並且數據透視表可能已經存在於我正在使用的電子表格中。VBA透視表法「PivotTableWizard」 object'_Worksheet」失敗
這最近的工作方法在測試表格,但它並沒有在,我想用它的實際電子表格的工作。電子表格已經有一個數據透視表,這可能是問題?該代碼是停在集objTable = Sheet1.PivotTable
Dim objTable As PivotTable
Dim objField As PivotField
ActiveWorkbook.Sheets("Roster").Select
Range("A1").Select
Set objTable = Sheet1.PivotTableWizard
Set objField = objTable.PivotFields("Member Type")
objField.Orientation = xlRowField
Set objField = objTable.PivotFields("AIA Member Status")
objField.Orientation = xlColumnField
Set objField = objTable.PivotFields("Customer")
objField.Orientation = xlDataField
objField.Function = xlCount
Set objField = objTable.PivotFields("Expire Date")
objField.Orientation = xlPageField
objTable.PivotFields("Expire Date"). _
CurrentPage = expireyear
objTable.PivotFields("Member Type") _
.PivotItems("Cornerstone Partners").Visible = False
objTable.PivotFields("Member Type") _
.PivotItems("Honorary AIA").Visible = False
objTable.PivotFields("Member Type") _
.PivotItems("Honorary Fellow").Visible = False
objTable.PivotFields("AIA Member Status") _
.PivotItems("Proforma").Visible = False
Range("A6, A8").Select
Range("A8").Activate
Selection.Group
Range("A6").Select
objTable.PivotFields("Member Type2").PivotItems(_
"Group1").Caption = "Architect"
objTable.PivotFields("Member Type2").PivotItems(_
"Architect").ShowDetail = False
Range("A7,A8,A10").Select
Range("A7").Activate
Selection.Group
Range("A7").Select
objTable.PivotFields("Member Type2").PivotItems(_
"Group2").Caption = "Emeritus"
objTable.PivotFields("Member Type2").PivotItems(_
"Emeritus").ShowDetail = False
objTable.PivotFields("Member Type2").PivotItems(_
"Associate").ShowDetail = False
objTable.PivotFields("Member Type2").PivotItems(_
"International Associate").ShowDetail = False
objTable.PivotFields("Member Type2").PivotItems(_
"International Associate").ShowDetail = False
objTable.PivotFields("Member Type2").PivotItems(_
"Allied").ShowDetail = False
objTable.PivotFields("Member Type2").PivotItems(_
"Allied").Position = 5
objTable.PivotFields("Member Type2").PivotItems(_
"Emeritus").Position = 4
預先感謝您
'.PivotTableWizard'?嘗試'設置objTable = Sheet1.PivotTables(1)' –
此外,[避免使用選擇](http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros )並使用'With ... End With'。 – Brian
Siddarth,它仍然不起作用。在執行操作之前,我需要製作一張紙嗎?另外,如果文件中已存在數據透視表,是否需要更改索引號? – Steven