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
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...
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...
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...
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
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...
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...
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
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...
Gruß aus Dortmund
--
Fredi Janssen
f.ja...@dokom.net
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
"Berti" <be...@bert-koern.de> schrieb im Newsbeitrag
news:OWM9xIs0AHA.572@tkmsftngp05...