Anzeige
Archiv - Navigation
996to1000
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
Inhaltsverzeichnis

Zeilen löschen in denen Text mit best. Farbe steht

Zeilen löschen in denen Text mit best. Farbe steht
30.07.2008 00:34:06
jaf
Hallo zusammen,
ich habe kürzlich eine Praktikumstelle angefangen und stehe leider jetzt schon vor einem Problem bei einer Arbeit:
Ich möchte in einem Excel Dokument Zeilen löschen, in denen Text mit dunkelroter Farbe (in Spalte D) steht (dunkelrot = Farbindex 9)
Leider habe ich kaum VBA in Excel Kenntnisse - trotzdem habe ich 2 Ansätze, die leider nicht funktionieren:
Ansatz 1 (Idee: egal in welcher Spalte der dunkelrote Text steht -> Zeile löschen)

Sub DeleteRow()
Dim intRow As Integer, intLastRow As Integer
intLastRow = Cells.SpecialCells(xlCellTypeLastCell).Row
For intRow = intLastRow To 1 Step -1
If Font.ColorIndex(Rows(intRow)) = 9 Then
Rows(intRow).Delete
End If
Next intRow
End Sub


Ansatz 2 (wenn dunkelroter Text in Spalte D steht -> Zeile löschen)


Sub DeleteRowD()
Dim intRow As Integer, intLastRow As Integer
intLastRow = Cells.SpecialCells(xlCellTypeLastCell).Row
For intRow = intLastRow To 1 Step -1
If Application.CountA(Rows(intRow)) = 0 Then
intLastRow = intLastRow - 1
Else
Exit For
End If
Next intRow
For intRow = intLastRow To 1 Step -1
If Format.ColorIndex(Cells(intRow, 4)) = 9 Then
Rows(intRow).Delete
End If
Next intRow
End Sub


Zu 90% bin ich mir sicher, das der Fehler in der Spalte Font.ColorIndex(Rows(intRow)) = 9 liegt, leider weiss ich - aufgrund meiner wenigen VBA in Excel Erfahrung - nicht warum.
Es wäre nett wenn mir jmd helfen könnte. Danke im Voraus.

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen in denen Text mit best. Farbe steht
30.07.2008 01:04:49
Daniel
Hi
du hast recht, der Fehler liegt in der Zeile
Font.ColorIndex(Rows(intRow)) = 9
das Problem ist, daß mit ROWS() einen ganzen Zellbereich prüft.
die Funktion .Colorindex liefert aber nur dann einen sinnvollen Wert, wenn alle Zellen des Zellbereichs den gleichen Farbindex haben.
sind aber unterschiedlichen Farbindexe im Zellbereich vorhanden, so ist das Ergebnis NULL
dh. um zu einem Sinnvollen Ergebnis zu kommen, müsstest du jede Zelle einzeln prüfen und dahernoch eine 2. Schleife für die Spalten einbauen. Das ist aber viel zu aufwendig.
In deiner Excelversion gibt es die Möglichkeit, nach Formaten zu suchen
(ist bei der Suche unter "erweitert" zu finden)
zeichen das mal mit dem Recorder auf, vielleicht findest du damit einen Ansatz.
Hier mal ein Beispiel, wie du mit FIND alle Zellen löschen könntest, in denen 1 steht.

Sub test()
Dim Zelle As Range
Do
Set Zelle = ActiveSheet.Cells.Find(what:=1, lookat:=xlWhole)
If Zelle Is Nothing Then Exit Do
Zelle.EntireRow.Delete
Loop
End Sub


da müsstest du dann die Suche nach Formaten entsprechend einbauen.
Gruß, Daniel

Anzeige
für Spalte D so ...
30.07.2008 01:17:19
Matthias
Hallo

Sub DeleteRowAlt()
Dim intRow As Integer, intLastRow As Integer
intLastRow = Cells.SpecialCells(xlCellTypeLastCell).Row
For intRow = intLastRow To 1 Step -1
If Cells(intRow, 4).Font.ColorIndex = 9 Then
Rows(intRow).Delete
End If
Next intRow
End Sub


Gruß Matthias

AW: für Spalte D so ...
30.07.2008 03:02:00
Dirk
Hallo Matthias,
bitte entschuldige meine Einmischung, diese Frage von "jaf" (?) interessiert mich allerdings ebenfalls.
Hast du deinen Vorschlag mal getestet ? Ich habe es mal 1:1 "nachgebaut" u. es passiert gar nix...
Irgendwo im Archiv hatte ich auch mal gelesen, daß es "Probleme" gibt od. gar "unmöglich" ist, wenn die Zellfarbe mittels bedingter Formatierung definiert wurde... Genau DAS war damals MEIN Problem u. so habe ich mein Vorhaben aufgegeben...
Zugegeben: Die "bed. Formatierung" war nicht Bestandteil der Ausgangsfrage - aber vllt. liegt ja auch bei "jaf" darin ein weiteres Problem...
MfG Dirk

Anzeige
AW: für Spalte D so ...
30.07.2008 03:29:00
Dirk
Hallo Matthias,
Asche auf mein Haupt - gerade bemerkte ich einen dummen Fehler bei meinen Testversuchen - ich testete mit der Zellfarbe u. nicht mit der Textfarbe...
SORRY - da ist dein Vorschlag natürlich perfekt !
Doch was muss ich ändern, wenn ich auf die Zellfarbe testen möchte UND diese auch noch mittels bed. Formatierung geändert wird ?
MfG Dirk

AW: für Spalte D so ...
30.07.2008 06:00:12
Hajo_Zi
Hallo Dirk,
Farbe die mittels bedingter Fpormatierung erstellt wurde ist das komplizierte was mir bekannt ist in Excel.
http://hajo-excel.de/chCounter3/getfile.php?id=153
Du komms wohl besser, wenn Du die Bedingung nachbaust.

Anzeige
Zellfarbe: statt font interior (owT)
30.07.2008 09:27:00
mpb

AW: für Spalte D so ...
30.07.2008 21:04:00
Dirk
Hallo Hajo, hallo Martin,
@mpb
Danke Martin, so konnte ich Matthias' Code zunächst an meine Belange anpassen...
@Hajo
Wenn du als xl-Profi die Problematik mit dem bed. Format schon als "äußerst kompliziert" einschätzt, dann sollte ich wohl echt die Finger davon lassen...
Doch nun habe ich "Blut geleckt" u. setze dieses Thema wohl mit auf die Liste meiner langfristigen Baustellen ;-).
Aber was meinst du mit: Bedingungen nachbauen...?
Vielen Dank auch für deine Beispielmappe. Hast du die auch auf deiner HP veröffentlicht ?
Wenn JA, dann muss ich mich für meine schlechte Recherche entschuldigen !
Übrigens:
In meinem persönlichen Ranking zähle ich deine HP zu den "TOP TEN" der deutschsprachigen EXCEL-Seiten, die sich untereinander super ergänzen !
Dies nur mal so als Balsam für die Seele... ;-)

Daraus kann ich einige sehr gute Anregungen u. neue Lösungsansätze gewinnen...
Allerdings scheitere ich schon im Vorfeld an dem bed. Format in Zelle A7 (in deinem Hinweis wird irrtümlich auf A6 verwiesen).
Was bringt diese NAMEN-Vergabe u. was bewirkt sie ? Oder stehe ich mal wieder auf der Leitung ?
MfG Dirk

Anzeige
AW: für Spalte D so ...
31.07.2008 05:55:00
Hajo_Zi
Hallo Dirk,
die Datei ist von der HP Seite fremde Dateien.
Nachbauen bedeutet, falls die Bedingung ist =E5>D3, dann mußt Du dieses im Code fü jde Zeile prüfen.
Gruß Hajo

AW: für Spalte D so ...
31.07.2008 13:36:58
Dirk
Hallo Hajo,
sorry also für meine schlechte Recherche auf deiner HP - ich gelobe Besserung...
Da ich mit dem Nachbauen absolut überfordert bin u. dieses Vorhaben auch nicht dringend ist, habe ich diese Problematik erstmal weit nach hinten verschoben - recherchiere ich bei nächster Gelegenheit dann genauer.
Interessant wäre ja auch mal eine Antwort des ursprünglichen Fragestellers...
Hast du evtl. noch einen Tipp zu meiner letzten Frage: "Was bringt diese NAMEN-Vergabe u. was bewirkt sie ?"
MfG Dirk

Anzeige
AW: für Spalte D so ...
31.07.2008 19:09:49
Hajo_Zi
Hallo Dirk,
ich sehe immer nur den letzten Beitrag. Ich sehe das Problem nicht. Ich schreibe auch mehr als an einem Beitrag, so das ich mir nicht alle Beiträge merke.
Gruß Hajo

AW: für Spalte D so ...
31.07.2008 22:47:31
Dirk
Hallo Hajo,

ich sehe immer nur den letzten Beitrag. Ich sehe das Problem nicht. 


Komisch, durch Klick auf "Archivthread" sieht man doch alle Beiträge zu diesem Thread...
Und wenn man wirklich helfen möchte - u. dies mit Sicherheit auch könnte - dann sollte man sich als MVP auch die "Mühe" machen, dort mal nachzusehen...


Ich schreibe auch mehr als an einem Beitrag, so das ich mir nicht alle Beiträge merke.

...womit mal wieder die These bewiesen wäre, daß Frauen die besseren Multitasking-Talente sind... ;-)
Aber nix für ungut - du hast mir ja trotzdem schon sehr geholfen u. dafür bin ich dir natürlich dankbar !
MfG Dirk

Anzeige
AW: für Spalte D so ...
01.08.2008 00:05:00
Matthias
Hallo Dirk
schau mal hier ...
https://www.herber.de/bbs/user/54251.xls
Die Spalte C kannst Du auch ausblenden, es funzt trotzdem ;o)
Gruß Matthias

AW: für Spalte D so ...
01.08.2008 00:49:00
Dirk
Hallo Matthias,
dein "excel-lentes" Beispiel führe ich mir mal in Ruhe zu Gemüte... ;-)
Wie ich es bisher einschätze, sollte dies aber genau die Lösung sein !!!
Deine anschaulichen Beschreibungen u. Beispiele sind ein echter Gewinn für dieses Forum u. besonders für mich als DAU ( ;-) ) immer wieder ein Highlight.
Wenn du noch kein gefragter EXCEL-Dozent bist, dann verpasst die MS-Welt wirklich etwas...
Obwohl dieses Lob auch vielen anderen Helfern u. Helferinnen dieses Forums gebührt, so solltest du dich aber weit vorn einreihen...
Also: Besten Dank nach Sachsen aus dem Anhalt !
MfG Dirk

Anzeige
Danke, für Deine Rückmeldung oT
01.08.2008 06:55:00
Matthias

AW: für Spalte D so ...
01.08.2008 06:00:00
Hajo_Zi
Hallo Dirk,
Danke für die Information, da weiß ich nun wie ich Deine Beiträge einordnen muss.
Wennn einer Fragen hat sollte er Sie stellen, warum soll ich mir erst zig Beiträge durchlesen um zu sehen welches Problem er hat.
Gruß Hajo

soviel zu "MVP"...
02.08.2008 06:53:00
Dirk
Sorry Hajo,
ich wusste nicht, daß du unter einer Augenschwäche leidest - ich hatte meine Fragen und wichtige Anmerkungen in diesem Thread eigentlich immer fett markiert...
Voraussetzung wäre nun natürlich, daß man sich die Beiträge auch bis zum Ende durchliest - solltest du nun also zusätzlich auch noch unter einer Leseschwäche leiden, so verstehe ich natürlich deine letzten Antworten besser... ;-)
Somit entschuldige ich mich natürlich dafür, daß ich es gewagt habe, dir die selbe Frage gleich zweimal hintereinander gestellt zu haben... u. erspare UNS auch einen 3. Versuch (denn EINER sollte sich langsam BLÖD vorkommen...).... ;-)
Bezugnehmend auf deinen hohlen Kommentar: "...da weiß ich nun wie ich Deine Beiträge einordnen muss..." überdenke auch ich mein Bild von dir...
Deine Antworten auf manche Fragen hier im Forum muten einem Aussenstehenden an, wie ein :
- "unüberlegter Schnellschuss"
- bzw. eine "schnippische Trotz-Antwort" in Ignoranz der Unwissenheit des Fragenden
- bzw. gemäß dem Motto: Egal womit ich antworte, Hauptsache ich bin der ERSTE...
- bzw. OHNE eine konstruktive Antwort zu bringen, einfach eine Gegenfrage zu stellen (die sich beim genauen Lesen des Frage-Beitrages erübrigt hätte...) UND DANN den Thread dabei NICHT "offen" lassen...
Glücklichweise gibt es auch Helfer/innen, die in derartig "misshandelte Threads" nochmal reinschauen, sofort den Überblick gewinnen u. zielgerichtet antworten...
Ohne jetzt anderen Trägern des Titels "MVP" zu nahe treten zu wollen - mir ist auch nur einer bekannt, der sich damit ausdrücklich auf seiner HP rühmt - hätte ich doch noch eine abschließende Frage.
Und auch diese markiere ich wiedermals als fett...
Wird der Titel des MVP von einer authorisierten Jury vergeben oder aber einfach mal so am Biertisch ausgeknobelt u. du bist einfach nur wiederholt ein "Glückspil(s)z" gewesen ?
Sollte das Auswahlverfahren anders laufen, so wären evtl. auch die Kriterien dafür interessant...
Freundlichkeit, Geduld mit Unwissenden, richtiges Lesen der Fragen, pädagog. Fähigkeiten etc - also ALLES was eigentlich zur Vergrößerung der EXCEL-Gemeinde beiträgt, wurde anscheinend in manchen Fällen unterbewertet...
Tja, nun habe ich es mir wohl mit dir, Hajo, verscherzt - aber ich bin dir auch nicht böse, wenn du mir zukünftig nicht mehr auf meine Fragen antwortest - auf manche Dinge kann ich auch gern verzichten... ;-))
Trotz alledem natürlich mit freundlichen Grüssen
Dirk

Anzeige
Kompliment ...
02.08.2008 07:09:19
Dirk
... natürlich auch weiterhin für deine HP !
Dies war keinesfalls nur Lobhudelei, dazu stehe ich selbstverständlich immernoch...
Selbst da sich meine Frage auf eine Mappe aus deinem Downloadbereich bezog...
Schade eigentlich...
MfG Dirk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige