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

Forumthread: Farbige Zellen finden...

Farbige Zellen finden...
06.03.2013 10:25:14
F.W.
Guten Morgen,
ich steh irgendwie auf der Leitung....
Ich habe eine Arbeitsmappe wo in der Tabelle1 in der Zeile 4 manche Zellen farbig sind. In die farbigen Zellen möchte ich gerne ein X einfügen lassen um anschließend alle nicht farbigen bzw. Zellen ohne X ausblenden zu lassen.
Anbei der Code, der zwar keine Fehlermeldung generiert aber nicht das macht was ich möchte:
  • 
    Sub Farbe_finden()
    Sheets("Tabelle1").Activate
    Dim Zelle, Bereich$, Farbe As Byte
    Bereich = "A4:M4"
    Farbe = 37
    For Each Zelle In Range(Bereich).Cells
    If Zelle.Interior.ColorIndex = 37 Then Zelle = x
    Next
    End Sub
    


  • Anzeige

    7
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    Wie entsteht die Farbe? (owT)
    06.03.2013 10:32:15
    EtoPHG

    AW: Wie entsteht die Farbe? (owT)
    06.03.2013 10:47:35
    F.W.
    Die Farbe entsteht durch eine bedingte Formatierung. Das Sheet ist etwas komplexer, an einer Stelle wird ein Wert eingegeben der dann bestimmt wieviele Kalenderwochen in der Zeile 4 blau gemacht werden.
    Zur Aufbereitung für den anschließenden Ausdruck sollen alle nicht blauen Zellen ausgeblendet werden damit auf dem "onepager" nur dieser Zeitraum erscheint. Ich wollte jetzt den Umweg gehen und alle nicht leeren Zellen ausblenden lassen, weil ich nicht weiß ob und wie das mit der Farbe geht.
    Viele Grüße,
    Frank

    Anzeige
    AW: Bedingte Formatierung = ganz schlecht
    06.03.2013 10:52:52
    Daniel
    Hi
    die Farbe, die durch die Bedingte Formatierung entsteht, kannst du nicht ermitteln (bzw wenn, dann nur sehr sehr aufwendig).
    mit .Interior.ColorIndex fragst du immer nur die Grundfarbe ab, dh. die die angezeigt wird, wenn kein bedingtes Format aktiv ist.
    am einfachstsen ist, wenn du dir die Bedingte Formatierung, welche die Farbe erzeugt anschaust und dann in deinem Marko die gleiche Regel verwendest.
    Gruß Daniel

    Anzeige
    AW: Farbige Zellen finden...
    06.03.2013 10:41:24
    hary
    Hallo
    Option Explicit wuerde dir schon helfen. Da kommt der Debugger schon mal beim x, da fehlen die Gaensepfoten damit es Text ist.
    Dim Zelle As Range
    Dim Farbe As Byte
    Farbe = 37
    For Each Zelle In Sheets("Tabelle1").Range("A4:M4")
    If Zelle.Interior.ColorIndex = Farbe Then Zelle = "x"
    Next
    

    gruss hary

    Anzeige
    AW: Farbige Zellen finden...
    06.03.2013 10:46:06
    Daniel
    Hi
    wenn du ein x in die Zelle schreiben willst, so ist der Befehl dazu:
    Zelle.Value = "x"
    
    ohne die Anführungszeichen wird das x als Variable interpretiert und da du noch keinen Wert in diese Variable geschrieben hast, ist diese leer.
    weiterhin empfehle ich dir, mal das hier durchzulesen:
    http://www.online-excel.de/excel/singsel_vba.php?f=4
    außerdem solltest du auch mal prüfen, welche Farbe die Zellen tatsächlich haben.
    hierzu einfach mal die Markierung auf eine entsprechende Zelle setzen, das Direktfenster im VBA-Editor aktivieren (über den Menüpunkt "Ansicht") und dort den Befehel: ?Selection.Interior.Colorindex eintippen. Dann siehst du, ob du dich auch für den richtigen Zahlenwert entschieden hast.
    Gruß Daniel

    Anzeige
    AW: Farbige Zellen finden...
    06.03.2013 11:24:51
    F.W.
    Ich glaube das ist der Punkt. Wenn ich die Zelle markiere und mit dem Befehl ?Selection.Interior.Colorindex abfrage, dann bekomme ich die Rückmeldung "4142".
    Kann ich nicht abfragen ob die Zelle generell farbig ist, will heißen eine andere Farbe als weiß aufweist?

    AW: Farbige Zellen finden...
    06.03.2013 11:27:48
    firmus
    Hallo F.W.,
    falls es nicht zwingend VBA sein muss, verwende doch die Filterfunktion.
    Seit xls2007 kannst Du dort nach Farben filtern.
    Funktioniert auch bei Farben die durch bedingte Formatierung entstanden sind.
    Gerade auf xls2010 ausprobiert.
    .
    Gruss,
    Firmus
    Anzeige
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Anzeige
    Anzeige
    Anzeige
    Anzeige
    Anzeige

    Infobox / Tutorial

    Farbige Zellen in Excel finden und bearbeiten


    Schritt-für-Schritt-Anleitung

    Um in einer Excel-Tabelle nur farbige Zellen anzuzeigen oder zu bearbeiten, kannst du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

    1. Öffne den VBA-Editor:

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

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

      Sub Farbe_finden()
         Dim Zelle As Range
         Dim Farbe As Byte
         Farbe = 37 ' Hier die gewünschte Farbe angeben
      
         For Each Zelle In Sheets("Tabelle1").Range("A4:M4")
             If Zelle.Interior.ColorIndex = Farbe Then
                 Zelle.Value = "x" ' Setze ein X in die farbige Zelle
             End If
         Next
      End Sub
    4. Führe das Makro aus:

      • Drücke F5 oder gehe zu "Ausführen" > "Sub/UserForm ausführen".
    5. Alle nicht farbigen Zellen ausblenden:

      • Du kannst ein weiteres Makro hinzufügen, um alle Zellen ohne X auszublenden.

    Häufige Fehler und Lösungen

    • Fehler: Zelle bleibt leer
      Lösung: Stelle sicher, dass du den Code richtig angepasst hast. Das X sollte in Anführungszeichen stehen: Zelle.Value = "x".

    • Problem mit der Farbe
      Lösung: Verwende den Befehl ?Selection.Interior.ColorIndex, um den richtigen Farbindex zu finden. Wenn der Farbindex 4142 ist, kannst du dies in deinem Code anpassen.

    • Bedingte Formatierung nicht erkannt
      Lösung: Die Farbe, die durch bedingte Formatierungen erzeugt wird, kann mit .Interior.ColorIndex nicht abgerufen werden. Erwäge alternative Methoden wie Filter oder eine angepasste VBA-Logik.


    Alternative Methoden

    Anstatt VBA zu verwenden, kannst du auch die Filterfunktion in Excel nutzen, um nur farbige Zellen anzuzeigen:

    1. Markiere die gesamte Tabelle oder den Bereich.
    2. Gehe zu "Daten" > "Filtern".
    3. Klicke auf den kleinen Pfeil in der Spaltenüberschrift und wähle "Nach Farbe filtern".

    Diese Methode funktioniert auch bei Farben, die durch bedingte Formatierung entstanden sind.


    Praktische Beispiele

    1. Farbige Zellen markieren: Du kannst ein Makro verwenden, um alle farbigen Zellen in einem Bereich zu markieren:

      Sub Alle_farbigen_Zellen_markieren()
         Dim Zelle As Range
         For Each Zelle In Sheets("Tabelle1").UsedRange
             If Zelle.Interior.ColorIndex <> xlNone Then
                 Zelle.Select ' Alle farbigen Zellen auswählen
             End If
         Next
      End Sub
    2. Farben in bedingter Formatierung erkennen: Du kannst eine Formel verwenden, um zu prüfen, ob eine Zelle eine bestimmte Farbe hat. Hierzu benötigst du jedoch VBA.


    Tipps für Profis

    • Verwende Option Explicit am Anfang deines VBA-Codes, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler frühzeitig zu erkennen.

    • Kombiniere VBA mit Excel-Formeln, um die Farbzuordnung zu optimieren. Du kannst beispielsweise eine Formel erstellen, die die Farbe einer Zelle erkennt und diese Information in einer anderen Zelle anzeigt.

    • Nutze die Excel-Tastenkombinationen, um schneller zwischen den Arbeitsbereichen zu navigieren. Dies erhöht deine Effizienz.


    FAQ: Häufige Fragen

    1. Wie kann ich alle farbigen Zellen in einer Tabelle finden?
    Verwende die Filterfunktion oder ein VBA-Makro, um alle farbigen Zellen auszuwählen und zu markieren.

    2. Kann ich farbige Zellen in Excel ausblenden?
    Ja, du kannst ein VBA-Makro erstellen, das alle nicht farbigen Zellen ausblendet. Alternativ kannst du die Filterfunktion verwenden, um nur farbige Zellen anzuzeigen.

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige