ich bin ein Vba Neuling und benötige ein wenig Unterstützung. Ich habe ein Makro erstellt welches mir eine Pivot Tabelle automatisch erzeugt. Lief bis jetzt auch ganz prima.
Hier der Code:
Dim pt As PivotTable
Dim cacheofpt As PivotCache
Dim pf As PivotField
Dim pi As PivotItem
Set cacheofpt = ActiveSheet.PivotCaches.Create(xlDatabase, Range("X:X"))
Set pt = ActiveSheet.PivotTables.Add(cacheofpt, Range("a1"), "PivotTable1")
With pt
.PivotFields("PivotTable1").Orientation = xlRowField
End With
Nun habe ich noch eine Abfrage eingefügt, ob im Bereich X:X Zellinhalte durch ein Komma getrennt wurden und ob diese getrennt und in neue Zeilen eingefügt werden sollen.
Die Abfrage funktioniert, aber nun erstellt er mir die Pivot-Tabelle nicht mehr.
Es wird auch keine Fehlermeldung angezeigt.
Hier nochmal das ganze:
Dim a
Dim rngFound As Range
Dim ar As Variant
Dim i As Integer
a = MsgBox("Wollen Sie den Zellinhalt trennen?!", vbYesNo)
If a = vbNo Then Exit Sub Else
With ActiveSheet.Columns("X:X")
Set rngFound = .Find(What:=",", LookIn:=xlFormulas, LookAt:=xlPart)
While Not rngFound Is Nothing
ar = Split(rngFound.Value, ",")
.Rows(rngFound.Row + 1).Resize(UBound(ar)).Insert xlShiftDown
For i = 0 To UBound(ar)
rngFound.Offset(i, 0).Value = ar(i)
Next
Set rngFound = .FindNext(rngFound)
Wend
End With
' PivotTabelle erstellen
Dim pt As PivotTable
Dim cacheofpt As PivotCache
Dim pf As PivotField
Dim pi As PivotItem
Set cacheofpt = ActiveSheet.PivotCaches.Create(xlDatabase, Range("X:X"))
Set pt = ActiveSheet.PivotTables.Add(cacheofpt, Range("a1"), "PivotTable1")
With pt
.PivotFields("PivotTable1").Orientation = xlRowField
.PivotTables("PivotTable1").PivotFields("Status").Orientation = 1
End With
Ich bin für jeden Tipp sehr dankbar
Vielen Dank im Voraus