用VBA实现插入数据透视表(程序报错)

以下是代码,一直报错,不知道问题出在哪里
Sub CreatePV()

Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
ActiveSheet.UsedRange, Version:=xlPivotTableVersion15).CreatePivotTable _
TableDestination:="Sheet1!R3C1", TableName:="PivotTable1", DefaultVersion _
:=xlPivotTableVersion15
Sheets("Sheet1").Select
Cells(3, 1).Select

End Sub

建立数据透视表用下面的语句就可以了:

    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "Sheet1!R1C1:R4C3").CreatePivotTable TableDestination:="", TableName:= _
        "数据透视表1", DefaultVersion:=xlPivotTableVersion10

你的代码的问题:你先插入了空白表,然后制定数据范围为ActiveSheet.UsedRange,因为这个时候活动表是新插入的,使用空间为空,所以会报错。

追问

我不想把source data限定在R1C1:R4C3

追答

你想设置为多少都可以,明白吗?

追问

我当然明白。。。我是不想限定在某一范围,而是让它自动选出来,明白吗?

追答

你要说出来,你想设置为多少,我才可以帮你写代码,不一定是4、3这样的确定数,你可以说A列有内容的最后一行([A65536).END(XPUP).ROW),你还可以说到第一行有内容的最后一列(MsgBox [IV1].End(xlToLeft).Column)。明白我在说什么吗:你要描述你的需求!

温馨提示:答案为网友推荐,仅供参考
相似回答