VBA宏-透视表当前区域
我一直收到一条错误消息 运行时错误1004:无法获取的CurrentRegion属性 靶场课 我正在尝试创建一个动态的源数据,因为源正在更改VBA宏-透视表当前区域,vba,excel,pivot,Vba,Excel,Pivot,我一直收到一条错误消息 运行时错误1004:无法获取的CurrentRegion属性 靶场课 我正在尝试创建一个动态的源数据,因为源正在更改 Dim pc As PivotCache Dim pt As PivotTable Set pc = ThisWorkbook.PivotCaches.Create( _ SourceType:=xlDatabase, _ SourceData:=Sheet1.Name & "!" & Sheet1.Range("A1")
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")
这不需要宏。只需将源数据转换为表。使用主菜单上的“表格格式”按钮。然后,您的源数据将始终是动态的。如果您希望继续使用不断增长的动态范围(而不是表格)的概念,请使用以下代码:
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")
我不知道确切的原因,但我也有同样的问题。您可以尝试在excel工作表中选择单元格。如果您能够选择单元格,则CurrentRegion属性将起作用。如果没有,则您的单元格被锁定。重新打开excel工作表并尝试运行宏