2011-01-12 29 views
0

我在Excel 2007中记录了一个宏,其中创建了一个数据透视表。当我试图运行宏 时,我得到“无效的过程调用或参数”。Excel 2007 Macro Recorded Pivot Table

我看着调试窗口中的“问题代码”是: -

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
"Data!R1C6:R15874C11", Version:=xlPivotTableVersion12).CreatePivotTable _ 
TableDestination:="Table!R1C1", TableName:="PivotTable7", _ 
DefaultVersion:=xlPivotTableVersion12 

如何录制宏,不要再工作? (我已清除,删除并重新创建了目标表单和各种类型)以及宏本身有什么问题?

回答

0

请确保您有:

名为Data

的片命名表

命名PivotTable7

+0

我HV检查那些与仍,这是行不通的。 – Bob 2011-01-12 05:18:05

1

没有其他的数据透视表的纸张,你是否尝试破译密码往下看更具体问题在哪里?

例如,

Dim pvc As PivotCache 
Set pvc = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
              "Data!R1C6:R15874C11", _ 
              Version:=xlPivotTableVersion12) 
pvc.CreatePivotTable TableDestination:=Worksheets("Table").Range("A1"), _ 
        TableName:="PivotTable7", DefaultVersion:=xlPivotTableVersion12 

而且,也许尝试

Worksheets("Table").Range("A1") 

,而不是

"Table!R1C1" 

不知道这会令虽然任何区别...

你也是检查:

下面你没有一个数据透视表你试图创建这个?

第1行第6列至第11列中的透视字段名称有适当的标题?

我知道你说你已经重新板材诸如此类,但总是值得检查没有透视表漂浮...尝试:

Dim pvt As PivotTable 
For Each pvt In Worksheets("Table").PivotTables 
    Debug.Print pvt.Name 
    Debug.Print pvt.TableRange2.Address 
    pvt.ClearTable 
    pvt.TableRange2.Clear 
Next pvt 

其他,我怕我“难倒了。

编辑:

Sub ChangeSourceData() 
    Worksheets("Table").PivotTables("PivotTable7").SourceData = "Data!R1C1:R25C6" 
End Sub 
+0

非常感谢。有用。在重新创建之前,我需要先清理表格。 – Bob 2011-01-13 07:41:57