Excel 2007宏记录数据透视表

时间:2011-01-12 03:32:59

标签: excel

我在excel 2007中录制了一个宏,我在其中创建了一个数据透视表。当我试着 运行宏,我得到“无效的过程调用或参数”。

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

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

如何录制的宏不再有效? (我已经清除,删除并重新创建了目标表和所有种类)以及宏本身有什么问题?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

确保您拥有:

名为Data

的工作表

名为Table

的工作表

没有名为PivotTable7的其他数据透视表