ich habe ein Problem mit Formeln in einer Pivot Tabelle. Ich habe ein Sheet mit Daten, aus denen ich per VBA Macro PT erzeuge. Jetzt möchte ich in einer P eine Formel einfügen. Das funktioniert auch, solange ich den Datenbereich, aus dem ich die Pivot Tabelle erzeuge, fest angebe. Da der Bereich aber dynamisch ist, muss ich hier aber eine variable verwenden. Sobald ich das tue, erscheint aber beim Erzeugen der Fomel im VBA ein Laufzeitfehler mit der Meldung "Der Name eines Elementes wurde nicht gefunden..."
Hat jemand eine Idee?
Viele Grüße und besten Dank,
Joerg
Anbei noch das Makro:
Sub Makro1()
' Bestimmt den Bereich im Datensheet, der für die PT verwendet werden soll, dafüer wird " _
DataArea" definiert.
rowcount = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
ActiveWorkbook.Names.Add Name:="DataArea", RefersToR1C1:= _
"=GA_data!R1C1:R" & rowcount & "C12"
' die PT wird für den Bereich DataArea erstellt.
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"DataArea").CreatePivotTable TableDestination:="", TableName _
:="PivotTable2", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveWorkbook.ShowPivotTableFieldList = True
' Hier wird Data5 als Quotient aus Data3 und Data4 erzeugt.
ActiveSheet.PivotTables("PivotTable2").CalculatedFields.Add "Data5", _
"= IF(Run=0,0,Data3/Data4)", True
ActiveSheet.PivotTables("PivotTable2").PivotFields("Data5").Orientation = _
xlDataField
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Data1")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Data2")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Data3")
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Data4")
.Orientation = xlPageField
.Position = 1
End With
ActiveWorkbook.ShowPivotTableFieldList = False
End Sub