Der im Thread dargestellte Code funktioniert zwar, muss aber in Zukunft erneut ausgeführt werden: Immer wenn sich die Anzahl der Zeilen oder Spalten im Pivot ändert, können Sie mit farbigen Zeilen oder Spalten sitzen Pivot oder farbige Zellen im falschen Teil des Pivots.
Ich schlage vor, dass Sie die integrierten Pivot-Stile von Excel betrachten, wählen Sie die am nächsten, was Sie brauchen, und verwenden Sie Code wie folgt, um die Kopfzeile (n) und die Gesamtsumme Zeile zu ändern. Es besteht keine Notwendigkeit, Bereiche von Zellen zu manipulieren, da Sie das nächste Mal die gesamte Zeile abschalten möchten (um des Arguments willen), aber der Bereich wird immer noch farbig sein.
Ich habe ein Makro aufgezeichnet und alle redundanten Codezeilen entfernt, damit Sie sehen können, was sich ändert. Ich entferne auch eine nützliche Zeile (.TintAndShade =) und ersetze sie durch eine "ColorIndex =" Anweisung, um den Blauschatten zu erzwingen, den Sie bevorzugen.
Nachdem Sie dies ausgeführt haben, sollten Sie denselben Stil für alle anderen (vorhandenen und neuen) Pivots in derselben Arbeitsmappe verfügbar haben. Sie könnten es sogar als Standard festlegen. Sie müssen den Code nicht erneut ausführen, um formatieren zu können, wenn Ihr Pivot [Refresh] einen anderen Bereich von Zellen abdeckt.
können Sie einen anderen Stil ein aus der eigenen Palette auswählen und Ihre eigenen Namen für die Kopie verwenden, solange Sie alle relevanten Zeichenfolgen in dem folgenden Beispielcode oder Ihre eigenen Aktionen aufzeichnen finden und ersetzen:
Sub ColourPivotStyleForThisBook()
'duplicate blue/medium pivot style from template
ActiveWorkbook.TableStyles("PivotStyleMedium2").Duplicate ("PivotStyleMedium2v2" _
)
With ActiveWorkbook.TableStyles("PivotStyleMedium2v2")
.ShowAsAvailablePivotTableStyle = True
.ShowAsAvailableTableStyle = False
.ShowAsAvailableSlicerStyle = False
.ShowAsAvailableTimelineStyle = False
End With
'now modify header's style (fill) (font colour is white/automatic already)
With ActiveWorkbook.TableStyles("PivotStyleMedium2v2").TableStyleElements(_
xlHeaderRow).Interior
'only one/two lines are changing the colours
' .TintAndShade = -0.249977111117893
.ColorIndex = 49
End With
'now modify grand total row's style (fill) (font colour is white/automatic already)
With ActiveWorkbook.TableStyles("PivotStyleMedium2v2").TableStyleElements(_
xlTotalRow).Interior
'only one/two lines are changing the colours
' .TintAndShade = -0.249946592608417
.ColorIndex = 49
End With
End Sub
Wenn das Ergebnis nicht das ist, wonach Sie suchen, wählen Sie einfach einen Teil eines Pivots in der Arbeitsmappe aus, tippen Sie auf die Registerkarte Entwurf der PivotTable-Werkzeuge, klicken Sie mit der rechten Maustaste auf den Code, den Sie erstellt haben oben im Abschnitt "Benutzerdefiniert") und klicken Sie auf "Löschen". Hoffe das hilft.
(Sie können auch Code wie oben verwenden, um Pivot-Tabelle Stile in anderen Arbeitsmappe anpassen, die Pivot-Tabellen noch nicht haben.)
Der Stil gebaut ich in meinem ursprünglichen Code gepflückt, bereits verwendet weiß als Schriftfarbe daher Die Schriftartfarbe in meinem Code wird nicht speziell angesprochen. Abhängig von dem Stil, mit dem Sie beginnen, müssen Sie möglicherweise hier und da eine Zeile hinzufügen, um die Schriftfarbe zu ändern. – WdW