【问题标题】:VBA Macro - Pivot Table CurrenRegionVBA 宏 - 数据透视表 CurrenRegion
【发布时间】:2019-02-05 12:35:17
【问题描述】:

我不断收到错误消息

运行时错误 1004:无法获取当前区域的属性 范围类。

我正在尝试创建动态源数据,因为源正在更改。

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")

【问题讨论】:

    标签: vba excel pivot


    【解决方案1】:

    您不需要宏。只需将您的源数据转换为表格。使用主菜单上的“格式为表格”按钮。然后您的源数据将始终是动态的。

    【讨论】:

      【解决方案2】:

      如果您希望继续使用使用增长的动态范围(不是表格)的概念,请使用以下代码:

      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")
      

      【讨论】:

        【解决方案3】:

        我不知道确切的原因,但我遇到了同样的问题。您可以尝试在 Excel 工作表中选择单元格。如果您能够选择单元格,那么您的 CurrentRegion 属性将起作用。如果没有,那么您的单元格被锁定。您重新打开 Excel 工作表并尝试运行宏。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-06-09
          • 2012-06-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多