0

我根据 Microsoft 教程页面上的示例 VBA 代码创建了一个子例程:LINK

Sub WIP20Pivot()
'
' Pivot Macro

'Creates a PivotTable report from the table on Sheet1
'by using the PivotTableWizard method with the PivotFields
'method to specify the fields in the PivotTable.
 Dim objTable As PivotTable, objField As PivotField

' Select the sheet and first cell of the table that contains the data.
 ActiveWorkbook.Sheets("DATA").Select
 Range("A1").Select

' Create the PivotTable object based on the Employee data on Sheet1.
 Set objTable = Sheet1.PivotTableWizard 'ERROR OCCURS HERE
 ActiveSheet.Name = "PivotSheet" 

'There is more VBA code below to select fields for the pivot table, etc..

End Sub

当我运行此代码时,我收到以下错误:

运行时错误“424”:“需要对象”。

奇怪的是,该子程序在微软教程页面上的可下载示例宏中运行良好。

提前感谢您的帮助!

谢谢, AME

4

4 回答 4

1

设置 objTable = Sheet1.PivotTableWizard '错误发生在这里

您已指定 Shee1,但实际工作表名称会有所不同。您将删除一些工作表,并且可能将工作表命名为 sheet1。请在 vba 编辑器的项目窗口中检查您的实际工作表名称将显示为“Sheet9(Sheet1)”。在这种情况下,您需要提及

“设置 objTable = Sheet9.PivotTableWizard”

就这样解决了!!!:)

(注意你的代码应该在模块中)

于 2015-04-28T13:43:14.097 回答
0

Sub WIP20Pivot() => subroutine必须在一个模块中,

不能嵌入到工作表中。

它也发生在我身上。

于 2013-11-28T06:33:46.413 回答
0

我想这有助于命名数据​​透视表?

于 2014-06-11T20:45:30.717 回答
0

我也有同样的问题。经过一番研究,我找到了这个解决方案。希望它也能帮助到你。

 Set objTable = Worksheets("PivotTable").PivotTableWizard(SourceType:=xlDatabase, SourceData:=Range("PivotData!A1:C3918"), tabledestination:=Range("PivotTable!A1"))
于 2013-07-23T17:13:25.533 回答