Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
476to480
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
476to480
476to480
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeile löschen wenn 1. Zelle bestimmte Farbe

Zeile löschen wenn 1. Zelle bestimmte Farbe
30.08.2004 17:58:11
k.reffert
Guten Tag, zusammen, versuche mich im Selbsstudium an VBA und beisse mir noch an kleinsten Dingen die Zähne aus...:
im aktiven Worksheet möchte ich jene Zeilen löschen, deren 1. Zelle (also in Spalte A) schwarz ist [die farbigen Markierungen in Spalte A dienten der Gliederung].
Irgendwie muß ich wohl Cells.Interior.ColorIndex=1 unterbringen, aber wie kriege ich genau diese Zellen selektiert?
Da die betreffenden Zeilen ja nicht aufeinander folgen, sondern an beliebiger Stelle stehen können, muß da sicher auch noch 'ne Schleife rein, weil VBA ja solange die Deletion wiederholen soll, bis keine Zeilen mehr beginnend mit schwarzer Zelle vorhanden sind?
Für eure Hilfe an mich Laien vielen Dank im Voraus.
PS: Habe das Archiv durchforstet, hoffentlich nichts übersehen, das mir jetzt Schelte einbringt ;-)
Gruss,
Karin
AW: Zeile löschen wenn 1. Zelle bestimmte Farbe
Uduuh
Hallo,
als Grundsatz: Löschen immer von unten.

Sub schwarz_weg()
Dim iRow As Integer
Application.ScreenUpdating = False
For iRow = Cells(65536, 1).End(xlUp).Row To 1 Step -1
If Cells(iRow, 1).Interior.ColorIndex = 1 Then
Rows(iRow).EntireRow.Delete shift:=xlUp
End If
Next iRow
Application.ScreenUpdating = True
End Sub

Gruß aus'm Pott
Udo
AW: Zeile löschen wenn 1. Zelle bestimmte Farbe
30.08.2004 18:08:00
Nepumuk
Hallo Udo,
"Dim iRow As Integer" ? Gefährlich bei 65536 Zeilen. :-)
Gruß
Nepumuk
AW: Zeile löschen wenn 1. Zelle bestimmte Farbe
Uduuh
Hallo Nepomuk,
OK, Long wäre sicherer.
Gruß aus'm Pott
Udo
AW: Zeile löschen wenn 1. Zelle bestimmte Farbe
k.reffert
Das war fix, Udo, vielen Dank!!!
Leider tut sich damit nix; irre ich mich vielleicht bzgl. der Farbe, könnte es auch "Automatisch" sein, welcher ColorIndex wäre das dann?
Dank auch für den Hinweis die Suche resp. das Löschen immer von unten anzufangen...
Gruss,
Karin
Anzeige
AW: Zeile löschen wenn 1. Zelle bestimmte Farbe
30.08.2004 18:06:31
Nepumuk
Hallo Karin,
so geht's:


Public Sub Karin()
    Dim lng_Row As Long
    Application.ScreenUpdating = False
    For lng_Row = Rows.Count To Step -1
        If Cells(lng_Row, 1).Interior.ColorIndex = 1 Then Rows(lng_Row).Delete Shift:=xlShiftUp
    Next
    Application.ScreenUpdating = True
End Sub


Da du nicht schreibst, ob sich in den Zellen auser Farbe noch Werte befinden, muss die komplette Spalte dursucht werden. Sin aber Werte drin, dann so:


Public Sub Karin()
    Dim lng_Row As Long
    Application.ScreenUpdating = False
    For lng_Row = Cells(Rows.Count, 1).End(xlUp).Row To Step -1
        If Cells(lng_Row, 1).Interior.ColorIndex = 1 Then Rows(lng_Row).Delete Shift:=xlShiftUp
    Next
    Application.ScreenUpdating = True
End Sub


Gruß
Nepumuk
Anzeige
AW: Zeile löschen wenn 1. Zelle bestimmte Farbe
Beni
Hallo Karin,
das ist alles was Du braucht.
Grus Beni

Sub Zeile_löschen_wenn_schwarz()
For i = 1 To Cells(65536, 1).End(xlUp).Row
If Cells(i, 1).Interior.ColorIndex = 1 Then Cells(i, 1).Delete Shift:=xlUp
Next i
End Sub

AW: Zeile löschen wenn 1. Zelle bestimmte Farbe
k.reffert
Wow! Die Lösung von Nepomuk war's... 126 Zeilen auf einen Schlag gelöscht, super!!!
(Nein, Nemo, in den Zellen waren nur Hintergründe, keine Werte)
Euch allen herzlichen Dank für diesen prompten Service...
Karin-die-euch-sicher-noch-öfters-belästigen-wird
;-)
AW: Zeile löschen wenn 1. Zelle bestimmte Farbe
31.08.2004 19:42:36
k.reffert
... und da ist sie auch schon wieder.
Wie, Ihr lieben Profis, sage ich meinem Excel/VBA, daß es alle Zeilen (vom Sheet-Ende beginnend, logo...) löschen soll,
wo in Spalte 1 (Zelle A) die Hintergrundfarbe 22 ist UND
wo in Spalte 2 (Zelle B) nix, also weder Wert noch Formel steht?
(Es sollen auf keinen Fall alle Zeilen beginnend mit Schweinchen-rosa Zelle gelöscht werden, eben nur solche, wo in der 2. Spalte nix drinsteht...)
Hilft mir da WITH weiter?
Wie werden mehrere Bedingungen formuliert, die erfüllt sein müssen, um die nächste Action auszuführen? IF in der IF-Anweisung?
Hilfe herzlich willkommen, 1000 Dank vorab.
Karin
Anzeige
AW: Zeile löschen wenn 1. Zelle bestimmte Farbe
31.08.2004 19:56:20
Nepumuk
Hallo Karin,
alles in eine Abfrage:


Public Sub Karin()
    Dim lng_Row As Long
    Application.ScreenUpdating = False
    For lng_Row = Rows.Count To Step -1
        If Cells(lng_Row, 1).Interior.ColorIndex = 22 And Trim(Cells(lng_Row, 2).Value) = "" And Not Cells(lng_Row, 2).HasFormula Then Rows(lng_Row).Delete Shift:=xlShiftUp
    Next
    Application.ScreenUpdating = True
End Sub


Gruß
Nepumuk
Anzeige
AW: Zeile löschen wenn 1. Zelle bestimmte Farbe
k.reffert
Nepomuk, wie schaffst du das so schnell?
Außer dem "Trim", das ich gleich mal nachlesen werde, scheint mir die IF-Anweisung strikt logisch, aber selber drauf kommen? Da muß ich wohl noch lange üben...
Die Prozedur erzielt genau das gewünschte Ergebnis, also herzlichen Dank!!!
Karin-die-usw...
AW: Zeile löschen wenn 1. Zelle bestimmte Farbe
31.08.2004 22:39:49
Nepumuk
Hallo Karin,
ich schreibe seit über 25 Jahren Computerprogramme. Da lernt man/frau es langsam. :-)
Gruß
Nepumuk (tatsächlich mit u an Stelle von o)
AW: Zeile löschen wenn 1. Zelle bestimmte Farbe
02.09.2004 19:58:41
k.reffert
Hallo, Nepumuk, (jetzt hat sie's!!!)
na, du machst mir Mut.... In 25 Jahren bin ich längst in Rente! Weiss allerdings noch nicht, ob ich das hoffen oder fürchten soll ;-)
Erlaubst du eine persönliche Frage? Bist du Vollzeit-Programmierer? Das ist m. W. ein Berufsbild, nicht? Wie wird man das? Sind VBA'ler stets Autodidakten oder wird sowas nicht auch an der Uni als "Informatik" o. ä. gelehrt? Wächst man da von Basic über Basica über GWBasic und was-sonst-noch-dazwischen-liegen-mag einfach hinein? Antwort gerne via email; falls du's zu persönlich findest, auch i. O.
Jedenfalls Dank nochmals für die Hilfe, hab' schon wieder ein neues Problem, da werd' ich gleichmal das Archiv durchforsten...
Schönen Abend noch,
Karin-die-Unwissende
Anzeige
AW: Zeile löschen wenn 1. Zelle bestimmte Farbe
02.09.2004 20:14:42
Nepumuk
Hallo Karin,
nein, ich habe das an den Nagel gehängt, das war mir zu eintönig. Ich mache das nur noch um geistig fit zu bleiben. Angefangen habe ich mit Assembler und RPG2 dann kam Fortran und Cobo,l anschließend HP-Business-Basic. VBA habe ich vor etwas mehr als 10 Jahren angefangen, da ich gewisse Routinearbeiten besser den Computer machen lasse. Das mache ich zwar immer noch, aber meistens zu Hause, da ich wärend meiner Arbeitszeit zu oft gestört werde. Ich mache Personalplanung für Electrolux Europe, da besteht die Arbeit zu 99% aus Kommunikation. Das macht mehr Spaß.
Wenn du schell VBA lernen willst, dann schau die Beiträge im Forum an. Du findest kein Lehrbuch, welches diese Fülle an Informationen bietet.
Gruß
Nepumuk
Anzeige

40 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige