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

Forumthread: bedingte Formatierung über mehrere Tabellenblätter

bedingte Formatierung über mehrere Tabellenblätter
01.07.2015 19:51:21
MB12
Hallo zusammen,
leider bin ich nicht sicher, wo ich diese Anfrage einstellen soll; ich muss es auf gut Glück versuchen.
Meine Ausgangslage:
Arbeitsmappe hat ca. 60 sheets mit unterschiedlichen Namen, aber gleicher Struktur
Ich benötige für ca. 30 dieser Blätter zwei bedingte Formatierungen.
In Blatt A habe ich testweise ein Makro mit diesen bedingten Formatierungen (beide mit Formel) aufgezeichnet
Das erste sieht so aus:
Sub gold()
' gold Makro
' Tastenkombination: Strg+x
Range("A3:H520").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$D3=""x"""
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 7470078
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
Das steht jetzt in Modul 1
Wie kann ich es ändern und auf weitere Blätter anwenden(z.B. Fertigung, Montage, Inbetriebnahme)? Eine Lösung wäre für mich eine große Arbeitserleichterung
Viiielen Dank im Voraus für Eure Unterstützung.
Margarete

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bedingte Formatierung über mehrere Tabellenblätter
02.07.2015 07:44:20
Beverly
Hi Margarete,
versuce es mal so:
    Dim wksTab As Worksheet
For Each wksTab In Worksheets
Select Case wksTab.Name
Case "Tabelle1", "Tabelle3", "Tabelle5"  '


AW: bedingte Formatierung über mehrere Tabellenblätter
02.07.2015 19:33:00
MB12
Hi Karin,
hätte ich nur heute nach 7 Uhr nochmal hier reingeschaut, ich hätte mir viel Arbeit sparen können. So habe ich diese und ähnliche Makros relativ aufgezeichnet, die richtigen sheets gruppiert, damit ich danach überall von A1 aus arbeiten kann und mich dann durch alle Blätter geklickt mit einfügen per F5.
Dein Vorschlag sieht prima aus, hab herzlichen Dank, denn wenn mal wieder einige schlaue Kollegen den Dateischutz aushebeln und alles zerschießen, werde ich genau das benötigen...
Übrigens: benötige ich hier noch das "SetFirstPriority", wenn ich die verschiedenen Makros aneinanderfüge?
Liebe Grüße
Margarete

Anzeige
AW: bedingte Formatierung über mehrere Tabellenblätter
02.07.2015 19:51:03
Beverly
Hi Margarete,
wie meinst du das mit "mehrere Makros aneinanderfügen"? Das ist doch nur 1 Makro.
Mit SetFirstPriority wird die betreffende bedingte Formatierung in der Reihenfolge auf die 1. Position gesetzt. Wennn es nur 1 gibt, kann man das weglassen.


Anzeige
AW: bedingte Formatierung über mehrere Tabellenblätter
02.07.2015 21:16:28
MB12
Hi Karin,
klar ist das nur eines, aber ich habe noch weitere Makros, die ich nach meinem laienhaften Verständnis zusammenkopieren könnte, damit sie nacheinander ablaufen:
2 weitere bedingte Formatierungen, definierte Breite von verschiedenen Spalten, Zeilenhöhe einer Spalte automatisch anpassen, definierte Zeilenhöhe anderer Zeilen usw., und dann noch ein Spezialfilter über 2 Spalten mit mehreren Bedingungen (ODER - UND). Sind alles Forderungen von ca. 25 Abteilungen, die ich alle unter einen Hut bringen muss. Die logische Reihenfolge ist mir einigermaßen klar.
Wäre das theoretisch möglich oder würde ich damit nur meine Zeit vergeuden?
Danke für alles
Margarete

Anzeige
AW: bedingte Formatierung über mehrere Tabellenblätter
03.07.2015 07:45:57
Beverly
Hi Margarete,
theoretisch ist mit VBA (fast) alles möglich - man sollte sich aber überlegen, ob es sinnvoll ist. Sinnvoll ist es auf jeden Fall, wenn es Abrbeitsgänge betrifft, die immer wieder ausgeführt werden müssen oder wenn man man viele Tabellenblätter hat, auf die man den Code ebenfalls anwenden kann/soll. Weniger sinnvoll ist es (aus meiner Sicht), wenn die Zeit, die man für das Schreiben von Code die Zeit übersteigt, in der man alles von Hand erledigt hätte - es sei denn, man hat einfach Spaß am Programmieren und/oder Lernen. ;-)
Wenn die bedingten Formatierungen den selben Zellbereich betreffen, dann kannst du das im selben Makro realisieren und benötigst nicht mehrere. Und wenn dieselben Prozesse mehrere Tabellen betreffen, kann man das in einer Schleife realisieren und muss nicht jedes Makro auf jedem Tabellenblatt neu ausführen.


Anzeige
AW: bedingte Formatierung über mehrere Tabellenblätter
03.07.2015 07:50:40
MB12
Guten Morgen Karin,
da ich heute einen Tag Urlaub habe, konnte ich deine Antwort gleich lesen. Du hast das für mich perfekt dargestellt - das hilft mir ein großes Stück weiter - DANKE
;

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

Bedingte Formatierung über mehrere Tabellenblätter


Schritt-für-Schritt-Anleitung

Um die bedingte Formatierung auf alle Tabellenblätter in deiner Excel-Arbeitsmappe anzuwenden, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf „Einfügen“ und wähle „Modul“, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub ÜbertrageBedingteFormatierung()
       Dim wksTab As Worksheet
       Dim Quelle As Worksheet
    
       ' Setze das Quellblatt (das Blatt mit der gewünschten Formatierung)
       Set Quelle = ThisWorkbook.Sheets("BlattA") ' Passe den Namen an
    
       ' Iteriere durch alle Arbeitsblätter
       For Each wksTab In ThisWorkbook.Worksheets
           If wksTab.Name <> Quelle.Name Then
               Quelle.Cells.FormatConditions.Copy
               wksTab.Cells.PasteSpecial
           End If
       Next wksTab
       Application.CutCopyMode = False
    End Sub
  4. Ändere "BlattA" in den Namen deines Quellarbeitsblatts, wo die bedingte Formatierung bereits eingestellt ist.

  5. Drücke F5, um das Makro auszuführen.

Damit wird die bedingte Formatierung auf alle Tabellenblätter übertragen, die du in deiner Arbeitsmappe hast.


Häufige Fehler und Lösungen

  • Fehler: Das Makro läuft nicht wie erwartet.

    • Lösung: Stelle sicher, dass der Name des Quellblatts korrekt angegeben ist. Überprüfe auch, ob die Formatierungen im Quellblatt tatsächlich vorhanden sind.
  • Fehler: Nur einige Blätter erhalten die Formatierung.

    • Lösung: Achte darauf, dass die Schleife korrekt durch alle Arbeitsblätter iteriert und dass du keine Filter auf die Blätter angewendet hast, die das Makro daran hindern könnten.

Alternative Methoden

Falls du keine Makros verwenden möchtest, kannst du die bedingte Formatierung auf andere Blätter übertragen, indem du:

  1. Die Zellen mit der bedingten Formatierung im Quellblatt auswählst.
  2. Mit der rechten Maustaste darauf klickst und „Kopieren“ wählst.
  3. Zu den Zielblättern navigierst, die Zellen auswählst, in die die Formatierung eingefügt werden soll, und „Inhalte einfügen“ > „Formatierungen“ wählst.

Diese Methode ist zwar manuell, funktioniert aber gut für wenige Blätter.


Praktische Beispiele

  1. Anwenden einer einfachen Bedingung: Du möchtest, dass alle Zellen in einem bestimmten Bereich gelb hinterlegt werden, wenn der Wert über 100 liegt.

    • Erstellen der Regel im Quellblatt:
      Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:=100
      With Selection.FormatConditions(Selection.FormatConditions.Count).Interior
       .Color = RGB(255, 255, 0) ' Gelb
      End With
  2. Übertragung der Formatierung auf mehrere Blätter: Du kannst das oben beschriebene Makro verwenden, um diese Regel auf alle Blätter anzuwenden.


Tipps für Profis

  • Verwende die Option „Inhalte einfügen“, um spezifische Formate zu übertragen, wenn du nur die Formate und nicht die Werte kopieren möchtest.
  • Achte darauf, die bedingte Formatierung für mehrere Arbeitsblätter zu testen, um sicherzustellen, dass sie in verschiedenen Szenarien funktioniert.
  • Wenn du oft mit bedingter Formatierung arbeitest, speichere nützliche Makros in einer persönlichen Makroarbeitsmappe, um sie jederzeit verfügbar zu haben.

FAQ: Häufige Fragen

1. Kann ich die bedingte Formatierung auf alle Arbeitsblätter gleichzeitig anwenden?
Ja, indem du ein VBA-Makro verwendest, das durch alle Blätter iteriert und die Formatierungen kopiert.

2. Was passiert, wenn ich die Formatierung auf ein Blatt anwende, das bereits Formatierungen hat?
Die bestehenden bedingten Formatierungen werden überschrieben, wenn du die neuen Formatierungen darauf anwendest.

3. Ist es möglich, verschiedene bedingte Formatierungen für verschiedene Blätter zu verwenden?
Ja, du kannst für jedes Blatt unterschiedliche Bedingungen einstellen, indem du die Formatierungen manuell anpasst oder unterschiedliche Makros erstellst.

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