我一直收到错误消息
运行时错误1004:无法获取。的CurrentRegion属性 范围等级。
我正在尝试创建动态源数据,因为源正在发生变化。
Dim pc As PivotCache
Dim pt As PivotTable
Set pc = ThisWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=Sheet1.Name & "!" & Sheet1.Range("A1").CurrentRegion.Address, _
Version:=xlPivotTableVersion14)
Worksheets.Add
Range("A3").Select
Set pt = pc.CreatePivotTable( _
TableDestination:=ActiveCell, _
TableName:="NetZero")
答案 0 :(得分:1)
你不需要一个宏。只需将源数据转换为Table。使用"格式为表"主菜单上的按钮。然后你的源数据将始终是动态的。
答案 1 :(得分:0)
如果您希望继续使用增长的动态范围(不是表格)的概念,请使用以下代码:
Dim pc As PivotCache
Dim pt As PivotTable
Set pc = ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
SourceData:=Sheet1.Range("A1").CurrentRegion.Address(False, False, xlA1, xlExternal))
Worksheets.Add
' there's no need to select the Range, you can set the Table destination to "A3"
Set pt = pc.CreatePivotTable(TableDestination:=Range("A3"), TableName:="NetZero")
答案 2 :(得分:0)
我不知道确切原因,但是我遇到了同样的问题。您可以尝试在Excel工作表中选择单元格。如果您能够选择该单元格,则您的CurrentRegion属性将起作用。如果没有,那么您的单元将被锁定。您重新打开Excel工作表,然后尝试运行宏。