Excel 枢轴 R1C1 - 内存过载
Excel Pivot R1C1 - Memory Overload
我正在使用以下代码通过 VBA 创建一个 Pivot:
Dim Pivot30D As Worksheet
Set Pivot30D = Sheets.Add
Pivot30D.Name = "Pivot30D"
Dim Kelekt As Range
Set Kelekt = Range(Range("A2"), Range("A2").End(xlDown).End(xlToRight))
Dim KelektAddress As String
KelektAddress = Kelekt.Parent.Name & "!" & Kelekt.Address(True, True, xlR1C1)
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
KelektAddress, Version:=xlPivotTableVersion15). _
CreatePivotTable TableDestination:="Pivot30D!R1C1", TableName:="PivotTable1" _
, DefaultVersion:=xlPivotTableVersion15
在这里,Kelekt 是我创建 Pivot 的范围。这在理论上可以正常工作,除非我的内存很快过载。内存不足。另一方面,如果我使用 "R2C1:R191995C24"(带引号)而不是 Kelekt,我可以很好地创建这个枢轴。我需要(希望)完成这项工作是将 Kelekt 转换为 RC 表示法并以这种方式传递。
我该怎么做?如果做不到这一点,我该如何让这段代码以其他方式工作?
编辑:最新错误是数据透视表字段名称无效
建议的更改:
Dim Kelekt As Range
Set Kelekt = Range(Range("A2"), Range("A2").End(xlDown).End(xlToRight))
dim KelektAddress as String
KelektAddress = Kelekt.Parent.Name & "!" & Kelekt.address(true, true, xlR1C1)
并在 SourceData:=
参数中使用 KelektAddress
而不是 Kelekt
。
我正在使用以下代码通过 VBA 创建一个 Pivot:
Dim Pivot30D As Worksheet
Set Pivot30D = Sheets.Add
Pivot30D.Name = "Pivot30D"
Dim Kelekt As Range
Set Kelekt = Range(Range("A2"), Range("A2").End(xlDown).End(xlToRight))
Dim KelektAddress As String
KelektAddress = Kelekt.Parent.Name & "!" & Kelekt.Address(True, True, xlR1C1)
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
KelektAddress, Version:=xlPivotTableVersion15). _
CreatePivotTable TableDestination:="Pivot30D!R1C1", TableName:="PivotTable1" _
, DefaultVersion:=xlPivotTableVersion15
在这里,Kelekt 是我创建 Pivot 的范围。这在理论上可以正常工作,除非我的内存很快过载。内存不足。另一方面,如果我使用 "R2C1:R191995C24"(带引号)而不是 Kelekt,我可以很好地创建这个枢轴。我需要(希望)完成这项工作是将 Kelekt 转换为 RC 表示法并以这种方式传递。
我该怎么做?如果做不到这一点,我该如何让这段代码以其他方式工作?
编辑:最新错误是数据透视表字段名称无效
建议的更改:
Dim Kelekt As Range
Set Kelekt = Range(Range("A2"), Range("A2").End(xlDown).End(xlToRight))
dim KelektAddress as String
KelektAddress = Kelekt.Parent.Name & "!" & Kelekt.address(true, true, xlR1C1)
并在 SourceData:=
参数中使用 KelektAddress
而不是 Kelekt
。