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

Nur farbige/nicht farbige Zellen markieren

Forumthread: Nur farbige/nicht farbige Zellen markieren

Nur farbige/nicht farbige Zellen markieren
06.10.2003 09:26:04
Dennis
Guten Morgen!
Wie kann ich es anstellen, dass ich nach Wunsch entweder alle Zellen mit Hintergrundfarbe oder alle Zellen ohne Hintergrundfarbe markiert bekomme? Dies brauche ich um diverse Hintergrundfarben für mein Tabellenblatt auszuprobieren ohne per Hand mit Ctrl-Taste 5000 Zellen zu markieren!
Danke im voraus...
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur farbige/nicht farbige Zellen markieren
06.10.2003 09:55:50
WernerB.
Hallo Dennis,

was hältst Du hiervon?

Option Explicit

Sub Dennis()
Dim c As Range, Bereich As Range, ErgBereich As Range
Dim Ant As Byte
On Error Resume Next
Set Bereich = Application.InputBox("Bitte Bereich mit der Maus markieren", _
"Bereichswahl", , , , , , 8)
If Bereich Is Nothing Then
MsgBox "Nichts selektiert !" & vbCr & vbCr & "Makro-Abbruch !", _
vbOKOnly + vbCritical, "Dezenter Hinweis für " & Application.UserName & ":"
Exit Sub
End If
On Error GoTo 0
Application.ScreenUpdating = False
Ant = MsgBox("Nur farbige Zellen markieren ?", vbYesNo + vbQuestion, _
"Frage an " & Application.UserName & ":")
For Each c In Bereich
If Ant = 6 Then
If c.Interior.ColorIndex <> xlNone Then
Set ErgBereich = c
Exit For
End If
Else
If c.Interior.ColorIndex = xlNone Then
Set ErgBereich = c
Exit For
End If
End If
Next c
If ErgBereich Is Nothing Then
MsgBox "Nichts gefunden !", vbOKOnly + vbInformation, _
"Dezenter Hinweis für " & Application.UserName & ":"
Else
For Each c In Bereich
If Ant = 6 Then
If c.Interior.ColorIndex <> xlNone Then
Set ErgBereich = Application.Union(ErgBereich, c)
End If
Else
If c.Interior.ColorIndex = xlNone Then
Set ErgBereich = Application.Union(ErgBereich, c)
End If
End If
Next c
ErgBereich.Select
Set ErgBereich = Nothing
Set Bereich = Nothing
End If
Application.ScreenUpdating = True
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).
Anzeige
Super-Genial!
06.10.2003 10:00:48
Dennis
Hallo Werner,
vielen Dank für Deine Mühe. Deine Lösung trifft den Nagel auf den Kopf! Habe mal alle Zellen eines Sheets markiert, dauert dann zwar ganz schön lange, aber es funktioniert.
Gruß
Dennis
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Farbiges Zellen-Markieren in Excel leicht gemacht


Schritt-für-Schritt-Anleitung

Um in Excel alle farbigen Zellen zu markieren oder nur die Zellen ohne Hintergrundfarbe anzuzeigen, kannst Du ein einfaches VBA-Makro verwenden. Folge diesen Schritten:

  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. Kopiere den folgenden VBA-Code in das Modul:

    Sub Dennis()
        Dim c As Range, Bereich As Range, ErgBereich As Range
        Dim Ant As Byte
        On Error Resume Next
        Set Bereich = Application.InputBox("Bitte Bereich mit der Maus markieren", _
        "Bereichswahl", , , , , , 8)
        If Bereich Is Nothing Then
            MsgBox "Nichts selektiert !" & vbCr & vbCr & "Makro-Abbruch !", _
            vbOKOnly + vbCritical, "Dezenter Hinweis für " & Application.UserName & ":"
            Exit Sub
        End If
        On Error GoTo 0
        Application.ScreenUpdating = False
        Ant = MsgBox("Nur farbige Zellen markieren ?", vbYesNo + vbQuestion, _
        "Frage an " & Application.UserName & ":")
        For Each c In Bereich
            If Ant = 6 Then
                If c.Interior.ColorIndex <> xlNone Then
                    Set ErgBereich = c
                    Exit For
                End If
            Else
                If c.Interior.ColorIndex = xlNone Then
                    Set ErgBereich = c
                    Exit For
                End If
            End If
        Next c
        If ErgBereich Is Nothing Then
            MsgBox "Nichts gefunden !", vbOKOnly + vbInformation, _
            "Dezenter Hinweis für " & Application.UserName & ":"
        Else
            For Each c In Bereich
                If Ant = 6 Then
                    If c.Interior.ColorIndex <> xlNone Then
                        Set ErgBereich = Application.Union(ErgBereich, c)
                    End If
                Else
                    If c.Interior.ColorIndex = xlNone Then
                        Set ErgBereich = Application.Union(ErgBereich, c)
                    End If
                End If
            Next c
            ErgBereich.Select
            Set ErgBereich = Nothing
            Set Bereich = Nothing
        End If
        Application.ScreenUpdating = True
    End Sub
  4. Schließe den VBA-Editor und kehre zu Deinem Excel-Dokument zurück.

  5. Drücke ALT + F8, wähle das Makro Dennis aus und klicke auf Ausführen.

  6. Wähle den Bereich aus, den Du untersuchen möchtest, und gib an, ob Du nur die farbigen Zellen oder die nicht farbigen Zellen anzeigen möchtest.


Häufige Fehler und Lösungen

  • Fehler: "Nichts selektiert!"
    Lösung: Stelle sicher, dass Du einen Bereich mit der Maus ausgewählt hast, bevor Du das Makro ausführst.

  • Fehler: Makro funktioniert nicht richtig.
    Lösung: Überprüfe, ob Du die Sicherheitsoptionen in Excel so eingestellt hast, dass Makros ausgeführt werden dürfen (Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter).


Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du die bedingte Formatierung nutzen:

  1. Markiere den gewünschten Bereich.
  2. Gehe zu Start > Bedingte Formatierung.
  3. Wähle Neue Regel und dann Formel zur Ermittlung der zu formatierenden Zellen verwenden.
  4. Verwende die Formel =ISTEXT(A1) für farbige Zellen oder =ISTLEER(A1) für leere Zellen.
  5. Wähle die gewünschte Formatierung aus und klicke auf OK.

Praktische Beispiele

Wenn Du alle farbigen Zellen in einem Tabellenblatt markieren möchtest, kannst Du das Makro so verwenden:

' Füge das Makro in das Modul ein und führe es aus

Falls Du nur die nicht farbigen Zellen anzeigen möchtest, wähle beim Ausführen des Makros "Nein" aus.


Tipps für Profis

  • Nutze die Funktion Application.Union im VBA-Code, um mehrere Bereiche zu kombinieren.
  • Experimentiere mit verschiedenen Farben, um die farbigen Zellen in Excel effizient zu verwalten.
  • Verwende Shortcut-Tasten, um die Ausführung des Makros zu beschleunigen.

FAQ: Häufige Fragen

1. Wie kann ich alle farbigen Zellen in Excel markieren?
Du kannst das bereitgestellte VBA-Makro verwenden, um alle farbigen Zellen zu markieren oder nur die Zellen ohne Hintergrundfarbe anzuzeigen.

2. Funktioniert dies in allen Excel-Versionen?
Ja, das VBA-Makro sollte in den meisten modernen Excel-Versionen (wie Excel 2010, 2013, 2016, 2019 und Excel 365) funktionieren.

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