Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Alle rot markierten Zeilen löschen

713 views
Skip to first unread message

Fredi Janssen

unread,
May 1, 2001, 2:18:00 PM5/1/01
to
Hallo Excel Spezialisten

möchte in einer Tabelle alle (immer Unterschiedliche Zeilennummern) rot
markierte Zeilen löschen.
wie kann ich das über eine Schaltfläche im Tabellenblatt per Makro machen.
würde mich freuen,wenn mir jemand helfen kann.

Gruß und danke
Fredi
--
Fredi Janssen
f.ja...@dokom.net


Berti

unread,
May 1, 2001, 2:59:55 PM5/1/01
to
Hallo Fredi
Folgendes Makro prüft pro Zeile die Zellfarbe der SpalteA:

Sub RoteZeilenLöschen()
lZeile = Cells(Rows.Count, 1).End(xlUp).Row
'makro zählt Rückwärts!
For i = lZeile To 1 Step -1
If Cells(i, 1).Interior.ColorIndex = 3 Then
Rows(i).Delete
End If
Next i
End Sub

Gruß
Berti

--
Email: mailto:be...@bert-koern.de
Homepage: http://www.bert-koern.de/index.htm
Excel Tips & Tricks, sowie die Rottweiler Fasnet


"Fredi Janssen" <f.ja...@dokom.net> schrieb im Newsbeitrag
news:9cmul7$9ul$1...@news.knipp.de...

Konrad Hauke

unread,
May 1, 2001, 3:20:17 PM5/1/01
to
Hallo Fredi,

folgende Prozedure löscht alle Hintergrundfarben der aktiven Tabelle.
Diese Funktion kannst Du direkt von einem Button aus starten.

!!Wichtig: die FocusOnClick Eigenschaft des Buttons auf False setzen.
oder ein Formular Steuerelement benutzen.


Public Sub ResetInterior()
Dim lRow As Long
Dim lCol As Long

With ActiveSheet.UsedRange
For lRow = 1 To .Rows.Count
For lCol = 1 To .Columns.Count
If .Cells(lRow, lCol).Interior.ColorIndex > 2 Then
.Cells(lRow, lCol).Interior.ColorIndex = xlNone
End If
Next lCol
Next lRow
End With
End Sub


--
Exel_&_VBA http://www.xakte.de

und tschüss...

Konrad Hauke

----------Orginal Nachricht----------


"Fredi Janssen" <f.ja...@dokom.net> schrieb im Newsbeitrag
news:9cmul7$9ul$1...@news.knipp.de...

Konrad Hauke

unread,
May 1, 2001, 3:40:46 PM5/1/01
to
Hallo Berti,

die Anweisung lZeile = Cells(Rows.Count, 1).End(xlUp).Row liefert die
letze Zeile mit einer nicht leeren Zelle zurück, die Hintergrundfarbe wird
nicht berücksichtigt.


--
Exel_&_VBA http://www.xakte.de

und tschüss...

Konrad Hauke


----------Original Nachricht----------
"Berti" <be...@bert-koern.de> schrieb im Newsbeitrag
news:uPyiBEn0AHA.1540@tkmsftngp03...

Konrad Hauke

unread,
May 1, 2001, 4:02:14 PM5/1/01
to
Hallo Fredi,

in meinem ersten posting ging ich davon aus daß Du die Hintergrundfarbe
löschen
willst aber es sollen ja rot gefärbte Zeilen gelöscht werden. Also hier eine
Prozedur
die genau das macht.

Public Sub DeleteRowWithRedInteriorColor()


Dim lRow As Long
Dim lCol As Long

Dim rng As Range

Set rng = ActiveSheet.UsedRange

With rng
For lRow = .Rows.Count To 1 Step -1


For lCol = 1 To .Columns.Count

If .Cells(lRow, lCol).Interior.ColorIndex = 3 Then
.Rows(lRow).Delete
Exit For

Konrad Hauke

unread,
May 1, 2001, 4:06:14 PM5/1/01
to
Hallo Berti,

da war ich etwas zu schnell, wenn die rot markierten Zeilen doppelt Werte
enthalten
kann die Zelle nicht leer sein und somit arbeitet Deine Lösung einwandfrei.

also sorry unt tschüss..
Konrad Hauke

"Konrad Hauke" <Hauke....@web.de> schrieb im Newsbeitrag
news:uibdyan0AHA.2200@tkmsftngp02...

Berti

unread,
May 1, 2001, 4:22:30 PM5/1/01
to
Hallo Konrad,
Dein Einwand ist schon richtig, da nicht unbedingt in den letzten Zeilen in
der Spalte A was steht. Da hab ich leider nicht aufgepaßt. Lieber positive
Kritik wie gar keine, denn sonst lernt man ja nie was dazu. ;-)
Deshalb Makro geändert:

Sub RoteZeilenLöschen()
lZeile = Cells(Rows.Count, 1).SpecialCells(xlLastCell).Row


'makro zählt Rückwärts!
For i = lZeile To 1 Step -1
If Cells(i, 1).Interior.ColorIndex = 3 Then
Rows(i).Delete
End If
Next i
End Sub

Gruß
Berti

--
Email: mailto:be...@bert-koern.de
Homepage: http://www.bert-koern.de/index.htm
Excel Tips & Tricks, sowie die Rottweiler Fasnet

"Konrad Hauke" <Hauke....@web.de> schrieb im Newsbeitrag

news:OqaR$on0AHA.2200@tkmsftngp02...

Fredi Janssen

unread,
May 1, 2001, 7:27:35 PM5/1/01
to
Hallo Berti und Konrad

funktioniert so einwandfrei
nur die Zeilen in meinem Datenbereich sind über bedingte Formatierung rot
eingefärbt.dabei klappt es nicht !!
gibt's hierfür noch eine Möglichkeit ?

für eure Bemühungen bedanke ich mich und hoffe ihr könnt mir noch weiter
helfen

Gruß Fredi

--
Fredi Janssen
f.ja...@dokom.net


Berti

unread,
May 2, 2001, 12:41:15 AM5/2/01
to
Hallo Fredi,
Die bedingte Formatierung benutzt eine Formel. Genau diese müssen wir ins
Makro packen. Da brauchen wir gar nicht mit Farben rumkaspern.
Als Beispiel habe ich folgende Formel ins Makro gepackt:
Wenn Zeile(SalteA) gleich Zeilehöher(SalteA) dann lösche Zeile

Sub DoppelteZeilenLöschen()


lZeile = Cells(Rows.Count, 1).SpecialCells(xlLastCell).Row
'makro zählt Rückwärts!

For i = lZeile To 2 Step -1
'Cells(Zeile,Spalte)
If Cells(i, 1) = Cells(i - 1, 1) Then


Rows(i).Delete
End If
Next i
End Sub

Gruß
Berti

--
Email: mailto:be...@bert-koern.de
Homepage: http://www.bert-koern.de/index.htm
Excel Tips & Tricks, sowie die Rottweiler Fasnet

"Fredi Janssen" <f.ja...@dokom.net> schrieb im Newsbeitrag

news:9cnh5l$pi2$1...@news.knipp.de...

Fredi Janssen

unread,
May 3, 2001, 11:46:00 AM5/3/01
to
Hallo Berti
etwas umgearbeitet,klappt prima
nochmals Dank für deine Hilfe

Gruß aus Dortmund
--
Fredi Janssen
f.ja...@dokom.net


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
"Berti" <be...@bert-koern.de> schrieb im Newsbeitrag

news:OWM9xIs0AHA.572@tkmsftngp05...

0 new messages