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

Forumthread: Nicht-farbige Zellen löschen

Nicht-farbige Zellen löschen
14.07.2004 09:55:58
Philipp
Hallo zusammen!
Hoffe, mir kann jemand helfen.
Ich will in einem Tabellenbereich Zeilen, in denen kein einziges Feld
einen bestimmten Farbhintergrund hat, komplett löschen.
Wie kann ich Zeile für Zeile die einzelnen Zellen prüfen und sobald
ein Feld farbig hinterlegt ist auf die nächste Zeile übergehen?
Wäre super, wenn mir hier jemand einen Tipp geben könnte!
Vielen Dank!
Gruß
Philipp
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Nicht-farbige Zellen löschen
14.07.2004 10:04:39
Franz
Hallo Philipp,
nur mal als Idee schnell hingeschrieben so ähnlich:
For each Zelle in UsedRange
if Zelle.font.colorindex = xlnone then Zelle.clearcontents
next
Kommst mit VBA = gut ja vielleicht weiter...
Grüße
Franz
AW: Nicht-farbige Zellen löschen
14.07.2004 11:28:19
Philipp
Hallo Franz!
Vielen Dank schonmal - klappt aber nicht so ganz, wie ich mir das vorstelle.
Ich will auf jeden Fall die KOMPLETTE Zeile löschen, wenn KEINE Zelle in der Spalte
farbig hinterlegt ist.
Komme zwar einigermaßen mit VBA klar, aber das ist mir dann noch zu hoch.
Mit der If-Funktion, das ist klar bzw. eine If not-Funktion würde es wahrscheinlich
tun, schon mal ein guter Hinweis von Dir, aber leider kriege ich die Bedingung noch nicht formuliert.
Er muß ja quasi je Zeile prüfen, ob eine farbige Zelle vorliegt. Ist dies der Fall,
kann er direkt in die nächste Zeile hüpfen und dort prüfen.
Hast Du vielleicht noch mal einen Tipp für mich bitte?!
Vielen Dank!
Gruß
Philipp
Anzeige
AW: Nicht-farbige Zellen löschen
14.07.2004 11:39:31
Franz
Hallo Philipp,
kann's leider nicht ganz richtig aus dem Stehgreif und zum Ausprobieren fehlt mit grade die Zeit. Aber versuch mal folgendes:
- eine For-Schleife um die Zeilen von oben nach unten zu durchlaufen
- darin verschachtelt eine weiter Schleife:
for each Zelle in activerow (oder so ähnlich, musst ein bisschen probieren, wie das genau heißen muss:
for i = 1 to xxx
for each Zelle in activerow
if ...
next
next
Viel Glück
Franz
Anzeige
AW: Nicht-farbige Zellen löschen
WernerB.
Hallo Philipp,
mit diesem Makro werden die entsprechenden Zeilen gelöscht, wenn in der Spalte "A" (Zeile 1 bis 100) eine Zelle keinen Farbhintergrund hat; ggf. musst Du das Makro eben auf Deine Gegebenheiten anpassen.

Sub Philipp()
Dim i As Long
Application.ScreenUpdating = False
For i = 100 To 1 Step -1
If Cells(i, 1).Interior.ColorIndex = xlNone Then
Cells(i, 1).EntireRow.Delete
End If
Next i
Application.ScreenUpdating = True
End Sub

Viel Erfolg wünscht
WernerB.
Anzeige
AW: Nicht-farbige Zellen löschen
14.07.2004 12:50:24
Philipp
Hallo Werner!
Auch Dir erstmal einen herzlichen Dank!
Ich habe allerdings jetzt das Problem, daß ALLE Zeilen gelöscht werden.
Ich möchte nicht die Zeilen löschen, in denen EINE Zelle keinen Farbhintergrund
hat, sondern die löschen in denen KEINE einen Farbhintergrund hat.
D.h. ich muß wohl noch eine Prüfung einbauen, die die einzelnen Zellen der Zeile
durchgeht und bei Vorliegen eines Farbhintergrundes in die nächste Zeile hüpft.
Fällt Dir hier vielleicht noch etwas zu ein?
Vielen Dank!
Gruß
Philipp
Anzeige
Was hältst du davon...:
14.07.2004 13:32:27
Franz
Hallo Philipp,
hier mal ein Beispiel (jetzt getestet):

Sub loeschen()
Dim Zelle As Range
Dim Bereich As Range
Set Bereich = ActiveSheet.UsedRange
For Each Zelle In Bereich
If Not Zelle.Interior.ColorIndex = xlNone Then
MsgBox Zelle.Row
Rows(Zelle.Row).Delete Shift:=xlUp
End If
Next
End Sub

Gib bitte Bescheid, ob's klappt.
Grüße
Franz
Anzeige
Zeile mit "MsgBox" muss raus! o.t.
14.07.2004 15:30:12
Franz
AW: Nicht-farbige Zellen löschen
Martin
Hallo Philipp,
noch ein Vorschlag:

Sub Farbige_Zellen_löschen()
z = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
s = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column
For i = z To 1 Step -1
For j = 1 To s
If Not Cells(i, j).Interior.ColorIndex = xlNone Then
Rows(i).Delete
Exit For
End If
Next j
Next i
End Sub

Gruß
Martin Beck
Anzeige
AW: Nicht-farbige Zellen löschen
K.Rola
Hallo,
die Zeilenzahl musst du halt anpassen, weiß nicht,
wovon die abhängig sein soll:

Sub Zeile()
Dim z As Long
Application.ScreenUpdating = False
For z = 100 To 1 Step -1
On Error Resume Next
If Rows(z).Interior.ColorIndex = -4142 Then Rows(z).Delete
Err.Clear
Next
Application.ScreenUpdating = True
End Sub

Gruß K.Rola
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Nicht-farbige Zellen in Excel löschen


Schritt-für-Schritt-Anleitung

Um in Excel nicht-farbige Zellen zu löschen, folge diesen Schritten:

  1. Öffne die Excel-Datei, in der du die nicht-farbigen Zellen löschen möchtest.

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

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

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

    Sub LoescheNichtFarbigeZeilen()
       Dim i As Long, j As Long
       Dim letzteZeile As Long
    
       letzteZeile = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
    
       For i = letzteZeile To 1 Step -1
           Dim farbig As Boolean
           farbig = False
    
           For j = 1 To ActiveSheet.Cells(i, Columns.Count).End(xlToLeft).Column
               If Cells(i, j).Interior.ColorIndex <> xlNone Then
                   farbig = True
                   Exit For
               End If
           Next j
    
           If Not farbig Then
               Rows(i).Delete
           End If
       Next i
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Drücke ALT + F8, wähle LoescheNichtFarbigeZeilen aus und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Problem: Alle Zeilen werden gelöscht.
    Überprüfe, ob die Bedingung im Code korrekt definiert ist. Stelle sicher, dass der Farbhintergrund tatsächlich auf xlNone geprüft wird.

  • Problem: Makro funktioniert nicht.
    Stelle sicher, dass die Makros in deiner Excel-Version aktiviert sind. Gehe zu Datei -> Optionen -> Trust Center -> Einstellungen für das Trust Center -> Makroeinstellungen und aktiviere die entsprechenden Optionen.


Alternative Methoden

Eine alternative Methode, um nicht-farbige Zellen zu löschen, ist die Verwendung des Filterwerkzeugs:

  1. Markiere den Datenbereich.
  2. Gehe zu Daten -> Filter.
  3. Klicke auf den Dropdown-Pfeil in der Spaltenüberschrift und wähle Farben filtern.
  4. Wähle die Option Keine Füllfarbe und wende den Filter an.
  5. Markiere die gefilterten Zeilen und lösche diese.

Praktische Beispiele

Hier sind zwei praktische Beispiele, wie du nicht-farbige Zellen in Excel löschen kannst:

  1. Beispiel 1: Löschung von nicht-farbigen Zellen in einer Liste von Produkten. Wenn jedes Produkt einen Farbhintergrund hat, kannst du die oben beschriebene VBA-Methode verwenden, um nur die Produkte ohne Farbhintergrund zu entfernen.

  2. Beispiel 2: In einer Tabelle mit Verkaufszahlen, bei der nur die Zeilen mit farbigen Zellen (z.B. für aktive Verkäufe) behalten werden sollen, kannst du ebenfalls die Filtermethode nutzen.


Tipps für Profis

  • Verwende die Application.ScreenUpdating = False-Anweisung am Anfang deines Makros, um die Bildschirmaktualisierung zu deaktivieren. Dies kann die Ausführungsgeschwindigkeit erhöhen.

  • Teste dein Makro immer zuerst mit einer Kopie deiner Daten, um Datenverlust zu vermeiden.

  • Setze Kommentare in deinen VBA-Code, um die Funktionsweise besser nachvollziehen zu können.


FAQ: Häufige Fragen

1. Wie kann ich farbige Zellen in Excel löschen?
Um farbige Zellen zu löschen, kannst du die Filterfunktion verwenden, um nur die Zellen mit einer bestimmten Farbe anzuzeigen und diese dann zu löschen. Alternativ kannst du ein VBA-Makro erstellen, das nach spezifischen Farbmustern sucht.

2. Funktioniert dies auch in Excel 365?
Ja, diese Methoden sind in Excel 365 sowie in anderen Versionen von Excel anwendbar. Stelle sicher, dass du die notwendigen Berechtigungen für Makros hast.

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