/ / Excel Pivot R1C1 - Speicherüberlastung - Excel, VBA, Excel-VBA, Pivot

Excel Pivot R1C1 - Speicherüberlastung - Excel, VBA, Excel-VBA, Pivot

Ich erstelle ein Pivot über VBA mit dem folgenden Code:

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

Hier ist Kelekt der Bereich, in dem ich binErstellen des Pivot. Dies würde in der Theorie gut funktionieren, außer dass ich eine schnelle Speicherüberlastung bekomme. Zu wenig Speicher. Auf der anderen Seite kann ich diesen Pivot einfach erstellen, wenn ich "R2C1: R191995C24" (mit den Anführungszeichen) anstelle von Kelekt verwende. Alles, was ich (hoffentlich) dafür brauche, ist Kelekt in RC-Notation umzuwandeln und es so zu übergeben.

Wie mache ich das? Wenn ich das nicht schaffe, wie kann ich diesen Code anders machen?

Bearbeiten: Der letzte Fehler ist PivotTable Feldname ist nicht gültig

Antworten:

2 für die Antwort № 1

Vorgeschlagene Änderungen:

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)

Und benutzen KelektAddress Anstatt von Kelekt im SourceData:= Parameter.