VBA Makro Source Data ActiveSheet

Bild

Betrifft: VBA Makro Source Data ActiveSheet
von: Fabio Hinz
Geschrieben am: 16.09.2015 11:15:33

Hallo Leute,
habe ein Problem mit meinem Makro. VBA Erfahrung habe ich noch zu gut wie keine. Ich versuche momentan das Makro unabhängig vom Dateinamen zu ändern und hatte auch erste Erfolge durch den ActiveSheet Befehl. Siehe hier:
ActiveWorkbook.Worksheets(ActiveSheet.Name).AutoFilter.Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets(ActiveSheet.Name).AutoFilter.Sort.SortFields. _
Add Key:=Range("AS1"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortTextAsNumbers
With ActiveWorkbook.Worksheets(ActiveSheet.Name).AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Nun komme ich aber nicht weiter:
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"(ActiveSheet.Name)!R1C1:R1048576C48", Version:=xlPivotTableVersion14).
CreatePivotTable TableDestination:="Tabelle1!R3C1", TableName:= _
"PivotTable2", DefaultVersion:=xlPivotTableVersion14
Sheets("Tabelle1").Select
Cells(3, 1).Select
Was ist an dem Code falsch? Bzw. wie kann ich die SourceData auf die aktuelle Datei beziehen?
Hoffe ihr könnt mir weiter helfen,
liebe Grüße!

Bild

Betrifft: AW: VBA Makro Source Data ActiveSheet
von: Rudi Maintaire
Geschrieben am: 16.09.2015 11:39:47
Hallo,
sollte so klappen:

Sub createPivot()
  Dim strAkt As String
  strAkt = ActiveSheet.Name
  Sheets.Add
  ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
    SourceData:="'" & strAkt & "'!R1C1:R1048576C5", _
    Version:=xlPivotTableVersion14).CreatePivotTable _
    TableDestination:="'" & ActiveSheet.Name & "'!R3C1", _
    TableName:="PivotTable2", _
    DefaultVersion:=xlPivotTableVersion14
    Cells(3, 1).Select
End Sub

Gruß
Rudi

Bild

Betrifft: AW: VBA Makro Source Data ActiveSheet
von: Fabio Hinz
Geschrieben am: 16.09.2015 12:51:27
Das funktioniert schonmal. Vielen Dank!
Jetzt kommt aber leider eine neue Fehlermeldung:
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
SourceData:="'" & strAkt & "'!R1C1:R1048576C5", _
Version:=xlPivotTableVersion14).CreatePivotTable _
TableDestination:="'" & ActiveSheet.Name & "'!R3C1", _
TableName:="PivotTable2", _
DefaultVersion:=xlPivotTableVersion14
Cells(3, 1).Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("PivotTable2").PivotFields("WE end")
.Orientation = xlRowField
.Position = 1
End With
Die Zeile:
With ActiveSheet.PivotTables("PivotTable2").PivotFields("WE end")
nimmt er nicht an.
Was bedeutet das ?
Liebe Grüße,
Fabio

Bild

Betrifft: was bedeutet 'nimmt er nicht an. ' ??? owT
von: Rudi Maintaire
Geschrieben am: 16.09.2015 12:54:18


Bild

Betrifft: AW: was bedeutet 'nimmt er nicht an. ' ??? owT
von: Fabio Hinz
Geschrieben am: 16.09.2015 12:58:06
Wenn ich das Makro ausführe, kommt die Fehlermeldung "Laufzeitfehler 1004: Die PivotFields-Eigenschaft des PivotTable-Objektes kann nicht zugeordnet werden."
Drücke ich auf Debuggen, wird die genannte Zeile im VBA Code gelb markiert.

Bild

Betrifft: AW: was bedeutet 'nimmt er nicht an. ' ??? owT
von: Rudi Maintaire
Geschrieben am: 16.09.2015 13:14:02
dann gibt es wohl in der PTable das Feld nicht.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "CommandButton auf allen Sheets ausblende"