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

Forumthread: farbig formatierte Zeile als leer Zeile definieren

farbig formatierte Zeile als leer Zeile definieren
22.09.2016 14:55:42
BigMike
Hallo, ich habe mir das folgende Makro geschrieben, das funktiert auch wunderbar - bis auf einen "Schönheitsfehler".
Per Clickbutton lösche ich alle mit "B" markierten Zeilen und verschiebe diese in den Nachbarsheet "GesamtStatistikBER"
Soweit so gut.
Excel hat ja Klasse aussehende Layoutvorlagen, um Tabellen optisch aufzuhübschen. Eine solche Vorlage habe ich gewählt. Diese Formatvorlage färbt die einzelnen Zeilen farblich ein (hellgrün/dunkelgrün, hellgrün/dunkelgrün...usw.)
Nun stelle ich fest, dass mein Makro deshalb nicht korrekt ausgeführt wird, weil Excel die farbliche Ausgestaltung einer Zelle/Zeile nicht als leere, sondern als belegte Zelle/Zeile definiert. Erst dort, wo die farbige Formatvorlage endet, und die übliche weiße, erste leere Zeile einsetzt, fügt das Makro die Datenzeile ein.
Man müsste das Makro also dahingehend anpassen, dass das Makro eine farbig formatierte Zeile/Zelle trotzdem als leer Zeile/Zelle definiert. Ist das möglich? Freue mich über jeden Tipp. Danke vorab...
Sub Bereinigen()
Dim zelle As Range, zeile As Long
For Each zelle In Range("A3:E50")
If zelle = "B" Then
zeile = zelle.Row
Rows(zeile).Copy Destination:=Sheets("GesamtStatistikBER").Cells(Rows.Count, 1).End(xlUp).  _
_
Offset(1, 0)
Rows(zeile).Delete
End If
End Sub

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: farbig formatierte Zeile als leer Zeile definieren
22.09.2016 16:47:47
ChrisL
Hi
Das Verhalten konnte ich im Test nicht nachvollziehen. Kannst du mal eine Beispielmappe laden?
Ist Spalte A "richtig" leer z.B. kein Leerschlag?
cu
Chris
AW: farbig formatierte Zeile als leer Zeile definieren
22.09.2016 18:47:44
MatthiasG
Hallo Mike,
Im Code fehlt der NEXT-Befehl, aber egal.
probier mal das:

Sub Bereinigen()
Dim zelle As Range, zeile As Long, sh As Worksheet, lz As Long, usedrng As Range
Set sh = Sheets("GesamtStatistikBER")
For Each zelle In Range("A3:E50")
If zelle = "B" Then
zeile = zelle.Row
Set usedrng = sh.UsedRange
lz = usedrng(usedrng.Cells.Count).Row
Rows(zeile).Copy Destination:=sh.Cells(lz + 1, 1)
Rows(zeile).Delete
End If
Next zelle
End Sub

Also nicht mit End(xlup).Row, sondern mit .UsedRange
Warum prüfst du eigentlich jede Zelle im Bereich A3:E50? Steht das "B" nicht in einer bestimmten Spalte?
Gruß Matthias
Anzeige
AW: farbig formatierte Zeile als leer Zeile definieren
22.09.2016 19:47:23
BigMike
Gute Frage Matthias, bin ich noch garnicht drauf gekommen. Hast Recht; das "B" steht in Spalte "D". Eigentlich muss das Makro nicht die gesamte Zeile durchforsten. Aber ich probiere erstmal Deinen Code aus. Tausend Dank erstmal und wenn es Dir keine allzugroße Mühe macht, Matthias, wie spreche ich nur die Spalte "D" an?
Anzeige
AW: farbig formatierte Zeile als leer Zeile definieren
22.09.2016 19:49:00
MatthiasG
Hallo Mike,

For Each zelle In Range("D3:D50")
Gruß Matthias
AW: farbig formatierte Zeile als leer Zeile definieren
22.09.2016 21:19:05
BigMike
Upps, ich glaube, ich muss mal Pause machen. Ich beiss mich gerade fest. Es klappt nicht; ich habe ja meine Testtabelle hochgeladen, da kann man das Problem gut nachvollziehen. Im Tabellensheet Archiv1 funktioniert´s nicht. Im Sheet Archiv2 (ohne Formatvorlage) klappts. Unglaublich.
Anzeige
AW: farbig formatierte Zeile als leer Zeile definieren
22.09.2016 19:41:42
BigMike
Hallo, danke erstmal für die Antworten; ich habe zur Verdeutlichung mal eine Beispieldatei hochgeladen.
https://www.herber.de/bbs/user/108356.xlsm
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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