Excel VBA --> Brauche ganz dringend Deine Hilfe zur Erstellung einer Pivot-Tabelle!

Liebe/-r Experte/-in,

ich komme mit meiner Pivottabelle nicht weiter. Hier der Code (aufgezeichnet mit Makrorekorder):

Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
„Vorlage!R1C1:R915C8“).CreatePivotTable TableDestination:="", TableName:= _
„PivotTable2“, DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select

(Der Rest des Codes ist hier für meine Frage unerheblich.)

–> Wie schaffe ich es nun, den absoluten Verweises der SourceData auf die Zelle 915 (R915C8) durch eine Variable zu ersetzen, die die letzte Zelle des zugrundeliegenden Datenbereichs enthält, damit die Pivottabelle immer den vollständigen Datenbereich als Grundlage für die Berechnung zieht?

Die letzte Zelle berechne ich so:

Dim letzteZeile As Integer
letzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

–> Meine Idee war ungefähr so:

SourceData:= _
„Vorlage!R1C1:R(“ & letzteZeile & „)C8“).CreatePivotTable

Aber die Schreibweise bekomme ich einfach nicht hin. Bin echt am Verzweifeln. Was mache ich falsch und wie lautet die korrekte Schreibweise für das Einbetten der Variablen in den SourceData-Bereich? :frowning:

PS: Über einen definierten Bereichsnamen habe ich das ganze auch schon probiert, aber da bekomme ich Probleme mit der Z1S1-Bezugsart in meinem weiteren Script. Benötige also dringenst die korrekte Schreibweise für das Einbetten der Variablen.

Bitte, bitte helfe mir. (Mein Chef sitzt mir sowas von im Nacken :roll: )

Tausend Grüße
Oli

Hallo Oli,
ich glaube, bei dir ist nur eine (bzw. 2) Klammer(n) zu viel:
Versuchs mal mit:

SourceData:=„Vorlage!R1C1:R“ & letzteZeile &

„C8“).CreatePivotTable

Vielleicht war’s das schon.

Gruß Jürgen

Hi Oli,

leider habe ich die nächsten Tage nicht sooo die Zeit, deine Anfrage zu bearbeiten. Leider kenn ich mich mit dem Thema Privio-Tabelle / Excel-VBA auch nicht so aus, könnte mich aber da reinlesen, wenn ich wieder Zeit habe.

Kontaktier mich mitte mal per Mail oder ruf mich an. Kennen wir uns überhaupt oder hast du mich in WWW nur rein zufällig gefunden?

Mail: [email protected]

Thorsten

Hallo,

ich konnte es jetzt nicht testen, aber auf die schnelle.

Versuch es mal bitte und sag mir ob es geklappt hat.

Dim letzteZeile As String

letzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Address

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
„Vorlage!R1C1:“ + letzteZeile + „“).CreatePivotTable TableDestination:="", TableName:= _
„PivotTable2“, DefaultVersion:=xlPivotTableVersion10

Gruß

D. Kreft