Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellenfarbe aus bestimmten Bereich übernehmen

Zellenfarbe aus bestimmten Bereich übernehmen
28.11.2014 10:02:54
dip
Guten Tag Allerseits,
Gerne würde ich folgende Problemstellung in das Forum einbringen, in der Hoffnung, jemand kann mir weiterhelfen.
Datei als Beispiel: https://www.herber.de/bbs/user/94089.xlsx
Ich verwende eine Pivot Tabelle für Datenanalyse. Dieses Pivot hat eine bestimmte Formatierung (Entwurf - PivotTable-Formate). Zusätzlich verwende ich normale Formeln ausserhalb der Pivottabelle um Abweichungen, Verhältnisse etc bzgl. den Daten von der Pivot Tabelle zu berechnen. Diese haben dann nicht das gleiche Format wie die Pivot Tabelle (siehe Formeln IST). Ich könnte natürlich den grossen Pinsel verwenden um das Format zu übertragen. Wenn sich die Struktur der Pivot Tabelle ändert, stimmen dann die Farben der Zellen nicht mehr überein. Und ausserdem haben gewisse Formeln das Format in %, welches nicht geändert werden soll.
Ist es möglich, mittels VBA, dass bei einer Änderung der Pivot Tabelle (über Worksheet_PivotTableUpdate(ByVal Target As PivotTable)?) ein bestimmter Bereich lediglich die Farbenzelle eines bestimmten ausgewählten Bereiches in der Pivot Tabelle 1 zu 1 übernimmt automatisch übernimmt (siehe Formeln SOLL)?
Bin für jeden Tipp/Hilfe sehr dankbar!
Beste Grüsse
Patrick

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellenfarbe aus bestimmten Bereich übernehmen
28.11.2014 10:23:03
selli
hallo patrick,
in einer pivot hast du die möglichkeit "berechnete Felder" einzufügen.
dabei kannst du mittels der vorhandenen felder rechnen lassen.
dann rechnet deine pivot das ganz alleine ohne extra tabelle nebenan.
gruß
selli

AW: Zellenfarbe aus bestimmten Bereich übernehmen
28.11.2014 10:41:15
dip
Hallo Selli,
Danke für dein Feedback. Das mit den berechneten Felder habe ich bereits ausprobiert, aber aufgrund der grossen Menge an Daten stürzt Excel bei der Berechnung der Daten zusammen...
Die Daten befinden sich in einer Access Datenbank, Excel dient nur als FrontEnd.
Grüsse
Patrick

Anzeige
AW: Zellenfarbe aus bestimmten Bereich übernehmen
28.11.2014 10:49:18
selli
hallo patrick,
dann erstelle deine formeln für die tabelle nebenan so, dass dort nur gerechnet wird wenn in der betreffenden zeile auch in spalte b etwas steht.
mit der selben bedingung legst du für die tabelle nebenan die bedingten formatierungen fest.
wenn(b5<>"";e5-d5;"") usw.
gruß
selli

Anzeige
AW: Zellenfarbe aus bestimmten Bereich übernehmen
28.11.2014 10:56:43
dip
Hallo Selli,
gut... aber wie weiss die bedingte formatierung wann welche Zellfarbe darzustellen ist?
wenn sich die Struktur der Pivot Tabelle ändert, dann verschieben sich die Zeilen und somit auch die Zellfarbe...
Grüsse
Patrick

AW: Zellenfarbe aus bestimmten Bereich übernehmen
28.11.2014 11:07:47
selli
hallo patrick,
das gibst du doch vor.
du musst doch wissen, wann welche farbe darzustellen ist.
gruß
selli

Anzeige
AW: Zellenfarbe aus bestimmten Bereich übernehmen
28.11.2014 11:10:27
dip
Hallo Selli,
genau das ist der punkt, bei der bedingten formatierung wird die farbe vorgegeben und ist fix.
die pivottabelle ist aber dynamisch. wenn zuerst die zeile 5 rot ist, sich die struktur dann ändern sollte, dann ist nicht die zeile 5 mehr rot sondern die zeile 7. die farbe bei der bedingten formatierung ändert sich nicht...
Grüsse
Patrick

Anzeige
AW: Zellenfarbe aus bestimmten Bereich übernehmen
28.11.2014 11:15:24
selli
hallo patrick,
bei der bedingten formatierung wird die farbe vorgegeben und ist fix.
wie der name schon sagt, wird eine farbe nur dann dargestellt, wenn eine bedingung erfüllt ist. sie ist keinesfalls fix.
wenn also in zelle b5 etwas drinsteht, wird die zelle z5 (fiktiv) rot gefärbt.
steht nichts in b5, wird auch z5 nicht gefärbt.
diese formatierung ist natürlich auf alle zellen in spalte z anzuwenden (soweit du denkst, dass es notwendig sein wird).
immer in bezug auf die gleiche zeile in spalte b.
gruß
selli

Anzeige
AW: Zellenfarbe aus bestimmten Bereich übernehmen
28.11.2014 12:02:48
dip
Hallo Selli,
wenn es nur eine farbe wäre, wäre es kein problem... aber sind mehrere farben... wie müsste ich dann vorgehen?
Grüsse
Patrick

AW: Zellenfarbe aus bestimmten Bereich übernehmen
28.11.2014 12:16:53
selli
hallo patrick,
bedingte formatierung --- regeln verwalten... --- neue regel
gruß
selli

AW: Zellenfarbe aus bestimmten Bereich übernehmen
29.11.2014 16:17:48
dip
Hallo Selli,
Wenns nur ein Report wäre, wäre es noch händelbar... es sind mittlerweile 23 Reports...
Auch kann es sein, dass die Reports in verschiedenen Blättern eine andere Formatierung bzw. Zellfarbe haben...
Wüsste jemand eine Lösung wie man dies bewerkstelligen könnte?
Irgendwie wenn die Pivottabelle aktualisiert wird, das Makro automatisch gestartet wird und die Zellenfarben vom Quellbereich ausliest, und diese Zellfarben analog auf den Zielbereich überträgt...
Grüsse
Patrick
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zellenfarbe aus bestimmten Bereich übernehmen


Schritt-für-Schritt-Anleitung

Um die Zellenfarbe aus einem bestimmten Bereich einer Pivot-Tabelle in Excel automatisch zu übernehmen, kannst Du ein VBA-Makro verwenden. Hier sind die Schritte, die Du befolgen kannst:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle "Einfügen" > "Modul".
  3. Füge den folgenden Code ein:

    Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
       Dim cell As Range
       Dim sourceRange As Range
       Dim targetRange As Range
    
       ' Definiere den Quellbereich (Pivot-Tabelle)
       Set sourceRange = Range("A1:B10") ' Passe diesen Bereich an
       ' Definiere den Zielbereich
       Set targetRange = Range("D1:E10") ' Passe diesen Bereich an
    
       ' Übertrage die Zellfarben
       For Each cell In sourceRange
           targetRange.Cells(cell.Row - sourceRange.Row + 1, cell.Column - sourceRange.Column + 1).Interior.Color = cell.Interior.Color
       Next cell
    End Sub
  4. Schließe den VBA-Editor:

    • Speichere Deine Änderungen und schließe den Editor.
  5. Aktualisiere die Pivot-Tabelle:

    • Jedes Mal, wenn Du die Pivot-Tabelle aktualisierst, wird das Makro automatisch die Zellenfarben übernehmen.

Häufige Fehler und Lösungen

  • Fehler: Makro funktioniert nicht
    Lösung: Stelle sicher, dass die automatischen Makros in Deinen Excel-Einstellungen aktiviert sind. Gehe zu "Datei" > "Optionen" > "Trust Center" > "Einstellungen für das Trust Center" und aktiviere die Makros.

  • Fehler: Falsche Zellfarbe wird übernommen
    Lösung: Überprüfe, ob die Quell- und Zielbereiche im VBA-Code korrekt definiert sind. Passe die Bereichsreferenzen an Deine Daten an.


Alternative Methoden

Wenn Du keine VBA-Makros verwenden möchtest, gibt es alternative Methoden:

  • Bedingte Formatierung: Du kannst die bedingte Formatierung nutzen, um die Zellenfarbe basierend auf bestimmten Kriterien zu ändern. Beachte jedoch, dass dies weniger flexibel ist und nicht automatisch die Farben einer Pivot-Tabelle übernehmen kann.

  • Manuelles Kopieren der Zellformatierung: Du kannst auch den Formatpinsel verwenden, um die Zellformatierung manuell zu kopieren. Dies ist jedoch zeitaufwendig und muss bei jeder Aktualisierung der Pivot-Tabelle wiederholt werden.


Praktische Beispiele

Angenommen, Du hast eine Pivot-Tabelle in den Zellen A1:B10, und Du möchtest die Farben in den Zellen D1:E10 übernehmen. Der obenstehende VBA-Code passt diese Übertragung automatisch an, wenn die Pivot-Tabelle aktualisiert wird.

Wenn Du verschiedene Berichte hast, kannst Du den Code entsprechend anpassen, um unterschiedliche Quell- und Zielbereiche für jede Pivot-Tabelle festzulegen.


Tipps für Profis

  • Verwendung von benannten Bereichen: Um die Wartbarkeit Deines Codes zu erhöhen, kannst Du benannte Bereiche für die Quell- und Zielzellen verwenden.

  • Optimierung des VBA-Codes: Wenn Du viele Pivot-Tabellen hast, kann es sinnvoll sein, den Code so anzupassen, dass er für mehrere Pivot-Tabellen gleichzeitig funktioniert. Dies kann durch Schleifen und Arrays erreicht werden.


FAQ: Häufige Fragen

1. Kann ich das Makro auch in Excel Online verwenden?
Nein, VBA-Makros sind nur in der Desktop-Version von Excel verfügbar.

2. Wie kann ich das Makro anpassen, wenn sich die Struktur meiner Pivot-Tabelle ändert?
Du kannst die Bereichsreferenzen im Code anpassen, um sicherzustellen, dass die richtigen Zellfarben übernommen werden.

3. Gibt es eine Möglichkeit, die Farben nur für bestimmte Zellen zu übernehmen?
Ja, Du kannst den Code so modifizieren, dass nur bestimmte Zellen im Quellbereich angesprochen werden, indem Du Bedingungen hinzufügst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige