Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: bedingte Formatierungen als Liste ausgeben

bedingte Formatierungen als Liste ausgeben
26.05.2014 11:35:57
georg
Hallo Excel Welt,
gibt es die Möglichkeit alle bedingte Formatierungen auszudrucken? Ich habe in einer Tabelle durch vieles Hin und Her kopieren eine riesen Menge bedingter Formate. Leider ist das Eingabefenster ("Manager für Regeln zur bedingten Formatierung")sehr klein und es würde mir enorm helfen, wenn ich eine Liste generieren könnte, die die Angabe auswirft.
Also z.B.
- die Fomel ("...") wird in den Format ("...") auf die Zellen ("...") angewendet. Und das sooft es Regeln in diesem Arbeitblatt gibt.
Wie geht denn sowas?
Danke und Gruß Georg
PS: hab in der Recherche nixx gefunden! :-(

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Lass dich von MCOs Link nicht erschrecken, ...
26.05.2014 14:50:17
MCOs
…Georg,
da geht's in 1.Linie um die Feststellung der aktiven BedingtFormatierung. Wenn du nur dokumentieren willst, kannst du natürlich alle für dich relevanten Elemente mit VBA auslesen. Aber auch das kann ab Xl12 (deine Version!) recht aufwendig wdn, je nachdem, welche Typen du einsetzt.
Willst du aber auch tatsächlich die aktive feststellen, kommst du wirklich nicht an einer der mehr oder weniger aufwendigen Methoden aus den ab Xl12 möglichen 3 MethodenGruppen vorbei. Such mal nach dieser Kategorisierung. Dazu sollte es hier und im OL-Forum (xlFormate u.xlVBA) auch noch Neueres (u.a.von Gandalf u.mir) geben.
Gruß Luc :-?

Anzeige
AW: Lass dich von MCOs Link nicht erschrecken, ...
26.05.2014 15:32:58
MCOs
Hallo Georg,
hier mal für jeweils die aktuelle Tabelle, k mußt du anpassen ab welcher Zeile eingetragen werden soll.
zB. Deine Daten bis 400, dann k auf 450 stellen
Sub BedForliste()
Dim rngcell As Range
Dim i As Long
Dim k As Long
Dim FCA As String
Dim FCT As Long
Dim FCN As String
Dim FCP As Long
Dim FCF As String
Dim FCC As Long
Dim FCFC As Long
Dim FCDBC As Long    'Datenbalkenfarbe
Dim FCSC1 As Long    'Farbscala 1.Farbe
Dim FCSC2 As Long    'Farbscala 2.Farbe
Dim FCSC3 As Long    'Farbscala 3.Farbe
k = 80
For Each rngcell In ActiveSheet.UsedRange
For i = 1 To rngcell.FormatConditions.Count
On Error Resume Next
FCA = rngcell.Address(0, 0)
FCP = i
FCT = rngcell.FormatConditions(i).Type
If FCT = 3 Or FCT = 4 Or FCT = 6 Then
FCC = xlNone
FCF = ""
If FCT = 4 Then
FCDBC = rngcell.FormatConditions(i).BarColor.Color
End If
If FCT = 3 Then
FCSC1 = rngcell.FormatConditions(i).ColorScaleCriteria(1).FormatColor.Color
FCSC2 = rngcell.FormatConditions(i).ColorScaleCriteria(2).FormatColor.Color
FCSC3 = rngcell.FormatConditions(i).ColorScaleCriteria(3).FormatColor.Color
End If
Else
FCC = rngcell.FormatConditions(i).Interior.Color
FCFC = rngcell.FormatConditions(i).Font.Color
FCF = "!" & rngcell.FormatConditions(i).Formula1
End If
Select Case FCT
Case 1
FCN = "Zellenwert"
Case 2
FCN = "Formel"
Case 3
FCN = "Farbscala"
Case 4
FCN = "Datenbalken"
Case 5
FCN = "Top"
Case 6
FCN = "Symbolsatz"
Case 8
FCN = "Einzel/Doppel"
Case 9
FCN = "Text"
Case 10
FCN = "Leer"
Case 11
FCN = "Datum"
Case 12
FCN = "Durchschnitt"
Case 13
FCN = "ohne Leerzeichen"
Case 14
FCN = "Nicht Leer"
Case 16
FCN = "Fehler"
Case 17
FCN = "Nicht Fehler"
End Select
Cells(k, 1) = FCA
Cells(k, 2) = FCP
Cells(k, 3) = FCT
Cells(k, 4) = FCN
Cells(k, 5) = FCC
Cells(k, 5).Interior.Color = FCC
Cells(k, 6) = FCFC
Cells(k, 6).Font.Color = FCFC
Cells(k, 7) = FCDBC
Cells(k, 7).Interior.Color = FCDBC
Cells(k, 8) = FCSC1
Cells(k, 8).Interior.Color = FCSC1
Cells(k, 9) = FCSC2
Cells(k, 9).Interior.Color = FCSC2
Cells(k, 10) = FCSC3
Cells(k, 10).Interior.Color = FCSC3
Cells(k, 11) = FCF
k = k + 1
FCA = ""
FCT = 0
FCN = ""
FCP = 0
FCF = ""
FCC = 0
FCFC = 0
FCDBC = -4142
FCSC1 = -4142
FCSC2 = -4142
FCSC3 = -4142
Next
Next
End Sub
Gruß Ewald

Anzeige
danke!
26.05.2014 16:29:50
georg
Uff, danke Luc und Ewald!
MCO hat mich tatsächlich nicht nur ERschreckt, sondern VERschreckt! Da konnte ich nicht viel mit anfangen - ist mir zu hoch.
Leider ist deine Lösung noch nicht ganz was ich suche, Ewald. Ich dachte, dass eine Tabelle rauskommt, die die bed. Formate auflistet, wie es der "Manager für bed. Formate" darstellt. Bei deiner Aufstellung kommen über zig Zeilen (mehr als bed. Formate vorhanden) recht kryptische Ergebnisse raus.
Aber dennoch danke für Eure Unterstützung!!
Gruß Georg

Anzeige
AW: danke!
26.05.2014 18:55:33
Ewald
Hallo Georg,
in der Liste wird ja auch jede Zelle aufgelistet,während im Manager ja nur die einzelnen Formatierungen stehen,egal wieviel Zellen sie umfaasen.
habe jetzt mal erweitert, in Spalte L wird der Gültigskeitsbereich ausgegeben und danach wird die Spalte auf Doppelte gefiltert.
Schau mal ob das paßt
Sub BedForliste()
Dim rngcell As Range
Dim i As Long
Dim k As Long
Dim FCA As String
Dim FCT As Long
Dim FCN As String
Dim FCP As Long
Dim FCF As String
Dim FCC As Long
Dim FCFC As Long
Dim FCDBC As Long    'Datenbalkenfarbe
Dim FCSC1 As Long    'Farbscala 1.Farbe
Dim FCSC2 As Long    'Farbscala 2.Farbe
Dim FCSC3 As Long    'Farbscala 3.Farbe
Dim Bereich As String
k = 80
For Each rngcell In ActiveSheet.UsedRange
For i = 1 To rngcell.FormatConditions.Count
On Error Resume Next
FCA = rngcell.Address(0, 0)
FCP = i
FCT = rngcell.FormatConditions(i).Type
Bereich = rngcell.FormatConditions(i).AppliesTo.Address(0, 0)
If FCT = 3 Or FCT = 4 Or FCT = 6 Then
FCC = xlNone
FCF = ""
If FCT = 4 Then
FCDBC = rngcell.FormatConditions(i).BarColor.Color
End If
If FCT = 3 Then
FCSC1 = rngcell.FormatConditions(i).ColorScaleCriteria(1).FormatColor.Color
FCSC2 = rngcell.FormatConditions(i).ColorScaleCriteria(2).FormatColor.Color
FCSC3 = rngcell.FormatConditions(i).ColorScaleCriteria(3).FormatColor.Color
End If
Else
FCC = rngcell.FormatConditions(i).Interior.Color
FCFC = rngcell.FormatConditions(i).Font.Color
FCF = "!" & rngcell.FormatConditions(i).Formula1
End If
Select Case FCT
Case 1
FCN = "Zellenwert"
Case 2
FCN = "Formel"
Case 3
FCN = "Farbscala"
Case 4
FCN = "Datenbalken"
Case 5
FCN = "Top"
Case 6
FCN = "Symbolsatz"
Case 8
FCN = "Einzel/Doppel"
Case 9
FCN = "Text"
Case 10
FCN = "Leer"
Case 11
FCN = "Datum"
Case 12
FCN = "Durchschnitt"
Case 13
FCN = "ohne Leerzeichen"
Case 14
FCN = "Nicht Leer"
Case 16
FCN = "Fehler"
Case 17
FCN = "Nicht Fehler"
End Select
Cells(k, 1) = FCA
Cells(k, 2) = FCP
Cells(k, 3) = FCT
Cells(k, 4) = FCN
Cells(k, 5) = FCC
Cells(k, 5).Interior.Color = FCC
Cells(k, 6) = FCFC
Cells(k, 6).Font.Color = FCFC
Cells(k, 7) = FCDBC
Cells(k, 7).Interior.Color = FCDBC
Cells(k, 8) = FCSC1
Cells(k, 8).Interior.Color = FCSC1
Cells(k, 9) = FCSC2
Cells(k, 9).Interior.Color = FCSC2
Cells(k, 10) = FCSC3
Cells(k, 10).Interior.Color = FCSC3
Cells(k, 11) = FCF
Cells(k, 12) = Bereich
k = k + 1
FCA = ""
FCT = 0
FCN = ""
FCP = 0
FCF = ""
FCC = 0
FCFC = 0
FCDBC = -4142
FCSC1 = -4142
FCSC2 = -4142
FCSC3 = -4142
Next
Next
Columns("L:L").Select
Selection.AutoFilter
Selection.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
End Sub
Gruß Ewald

Anzeige
Nachtrag
26.05.2014 19:12:33
Ewald
Hallo Georg,
wenn du mehrere Bedfor für einen Bereich hast,mußt du diese Zeile im Code
Bereich = rngcell.FormatConditions(i).AppliesTo.Address(0, 0)
durch diese ersetzen
 Bereich = rngcell.FormatConditions(i).AppliesTo.Address(0, 0) & "  " & FCP
Gruß Ewald

Anzeige
Genial
27.05.2014 10:51:20
Georg
da hab ich doch glatt wieder so einen großen Voodoo Meister getroffen! Klasse, damit hab ich was ich brauche. Vielen Dank Ewald!
Die Entstehung kann ich zwar nicht wirklich nachmachen, aber egal...! Es hilft mir seeehr!
Abschlußfrage (sofern mein Konto nicht schon überzogen ist) in der 6. - 8. Spalte der generierten Liste steht immer -4142. Wattn dat?
Danke nochmal und einen schönen Tag
Georg

Anzeige
AW: Genial
27.05.2014 12:06:14
Ewald
Hallo Georg,
diese Spalten sind vorgesehen für die Farbe von Datenbalken (1)und Farbscala(3).
Die Vorbelegung ist -4142 (keine Farbe)damit eventuelle Farben in den Zellen auch zurückgesetzt werden.
Kannst ja mal testen indem du bed.Formatierung Datenbalken,Farbscala erstellst.
Gruß Ewald

Anzeige
ok, begriffen - danke! owt
27.05.2014 12:48:19
georg
.
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Bedingte Formatierungen als Liste ausgeben


Schritt-für-Schritt-Anleitung

Um alle bedingten Formatierungen in Excel anzuzeigen und als Liste auszugeben, kannst Du ein VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und gehe zu dem Arbeitsblatt, das Du analysieren möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Kopiere und füge den folgenden Code ein:

    Sub BedForliste()
       Dim rngcell As Range
       Dim i As Long
       Dim k As Long
       Dim FCA As String
       Dim FCT As Long
       Dim FCN As String
       Dim FCP As Long
       Dim FCF As String
       Dim FCC As Long
       Dim FCFC As Long
       Dim FCDBC As Long    'Datenbalkenfarbe
       Dim FCSC1 As Long    'Farbscala 1.Farbe
       Dim FCSC2 As Long    'Farbscala 2.Farbe
       Dim FCSC3 As Long    'Farbscala 3.Farbe
       Dim Bereich As String
       k = 80
       For Each rngcell In ActiveSheet.UsedRange
           For i = 1 To rngcell.FormatConditions.Count
               On Error Resume Next
               FCA = rngcell.Address(0, 0)
               FCP = i
               FCT = rngcell.FormatConditions(i).Type
               Bereich = rngcell.FormatConditions(i).AppliesTo.Address(0, 0)
               ' Hier wird die Formatierung ausgegeben
               Cells(k, 1) = FCA
               Cells(k, 2) = FCP
               Cells(k, 3) = FCT
               Cells(k, 4) = FCN
               Cells(k, 12) = Bereich
               k = k + 1
           Next
       Next
       Columns("L:L").Select
       Selection.AutoFilter
       Selection.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Drücke ALT + F8, wähle das Makro BedForliste und klicke auf Ausführen.

Die bedingten Formatierungen werden nun in einer Liste angezeigt, die Du weiter analysieren oder ausdrucken kannst.


Häufige Fehler und Lösungen

  • Fehler: "Das Makro kann nicht ausgeführt werden."
    Lösung: Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Makroeinstellungen und aktiviere die Makros.

  • Fehler: Die Liste enthält unerwartete Werte.
    Lösung: Überprüfe den Code auf mögliche Anpassungen und stelle sicher, dass Du die richtige Excel-Version verwendest, da einige Funktionen ab Excel 2007 (Xl12) verfügbar sind.


Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du die bedingten Formatierungen auch manuell überprüfen:

  1. Gehe zu Start > Bedingte Formatierung > Regeln verwalten.
  2. In diesem Fenster kannst Du alle Regeln sehen und bearbeiten, jedoch nicht als Liste exportieren.

Praktische Beispiele

Hier ist ein praktisches Beispiel, wie eine bedingte Formatierung in Excel aussieht:

  • Regel: Wenn der Zellwert größer als 100 ist, wird die Zelle rot hinterlegt.
  • Formel: =A1>100
  • Zellen: A1, A2, A3, etc. (je nach Bereich)

Diese Informationen können durch das oben genannte Makro erfasst werden.


Tipps für Profis

  • Verwende Filter: Setze Filter auf Deine Liste, um schnell die relevantesten bedingten Formatierungen anzuzeigen.
  • Dokumentation: Halte die Liste der bedingten Formatierungen gut dokumentiert, um die Übersicht zu behalten, besonders bei komplexen Arbeitsblättern.

FAQ: Häufige Fragen

1. Wie kann ich die bedingte Formatierung anzeigen, ohne VBA zu nutzen?
Du kannst die Regeln über den Manager für Regeln zur bedingten Formatierung anzeigen, jedoch nicht in Form einer Liste exportieren.

2. Was bedeutet der Wert -4142 in der Liste?
Der Wert -4142 steht für "keine Farbe" und wird verwendet, wenn keine spezifische Farbe für die Formatierung festgelegt ist.

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