Anzeige
Archiv - Navigation
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
764to768
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wenn Zellhintergrundfarbe "ROT", dann ...

Wenn Zellhintergrundfarbe "ROT", dann ...
16.05.2006 18:48:21
Bernd
Hallo Alle zusammen,
... die Zeilen löschen. Das soll über ein gesamtes Tabellenblatt funktionieren.
Danke schon mal im Voraus!!!
Gruss Bernd

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
In welchem Bereich...
16.05.2006 19:24:43
{Boris}
Hi Bernd,
...soll gesucht werden? Eine bestimmte Spalte oder gar von A1 bis IV65536? Und die Zellen sind auch manuell rot gefärbt...?
Grüße Boris
AW: In welchem Bereich...
16.05.2006 19:42:46
Bernd
Hallo Boris,
... und zwar, wenn in den Spalten a-b-c-d, eine Zeile die rote Hintergrundfarbe hat, dann diese zeile löschen usw. d. h. bis zeile 65536.
Ich hoffe, ich hab mich verständlich ausgedrückt?
Gruss Bernd
Zeilen mit roten Zellen löschen
16.05.2006 19:57:09
{Boris}
Hi Bernd,
kann aber ein paar Sekunden dauern:
Option Explicit

Sub weg_mit_den_roten()
Dim l As Long, k As Long
For l = 65536 To 1 Step -1
For k = 1 To 4
If Cells(l, k).Interior.ColorIndex = 3 Then
Rows(l).Delete
Exit For
End If
Next k
Next l
End Sub

Wenn man davon ausgehen kann, dass die roten Zellen im UsedRange liegen, dann kann man das noch etwas beschleunigen.
Grüße Boris
Anzeige
AW: Zeilen mit roten Zellen löschen
16.05.2006 20:05:07
Martina
hi Boris,
zitat:
dass die roten Zellen im UsedRange liegen
Frage:
können sie ausserhalb liegen ?
MfG
Martina
Ist schon spät heute...
16.05.2006 20:11:54
{Boris}
Hi Martina,
...hast natürlich Recht. Die Anmerkung war schwachsinnig.
Dann also so:
Option Explicit

Sub weg_mit_den_roten()
Dim l As Long, k As Byte
With ActiveSheet.UsedRange
For l = .Rows.Count + .Row To .Row Step -1
For k = 1 To 4
If Cells(l, k).Interior.ColorIndex = 3 Then
Rows(l).Delete
Exit For
End If
Next k
Next l
End With
End Sub

Grüße Boris
it's time to ..
16.05.2006 21:21:03
Martina
.. go to sleep ;-)

Sub weg_mit_den_rotenII()
Dim l As Long, k As Byte
With ActiveSheet.UsedRange
For l = .Row To 1 Step -1
For k = 1 To 4
If Cells(l, k).Interior.ColorIndex = 3 Then
Rows(l).Delete
Exit For
End If
Next k
Next l
End With
End Sub

Anzeige
But now for you, too...
16.05.2006 22:21:51
{Boris}
Hi Martina,
...das war jetzt aber auch genauso nix... ;-)
Grüße Boris
manno ...
17.05.2006 07:25:02
Martina
...klaro,
sorry
dein code war richtig
bis ich kapiert habe, dass usedrange tatsächlich nicht bei Zeile 1 beginnen muss
und dein Konstrukt zur Ermittlung der Schleifengrösse richtig ist...
naja, ich schiebs auch mal auf die Uhrzeit *grins*
thx
MfG
Martina

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige