Clever-Excel-Forum

Normale Version: Bedingte Löschung von Zeilen über gesamte Arbeitsmappe
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich haben einen VBA-Code, der bei Erfüllung einer Bedingung die gesamte Zeile löscht. (Bedingung hier "A")
Funktioniert bei einem einzelnen Tabellenblatt perfekt.
Kann mir jemand den Code erweitern, damit dies über alle Tabellenblätter der Arbeitsmappe durchgeführt wird.
So sollen dann alle Zeilen bei allen Tabellenblättern in dem ein "A" steht gelöscht werden.
Vielen Dank für eure Hilfe.

Code:
Public Sub bedingte_Zeilenloeschung()
'** Ermittlung der letzten Zeile in Spalte A
lz = Cells(Rows.Count, 1).End(xlUp).Rows.Row

'** Durchlauf aller Zeilen
For t = lz To 2 Step -1 'Zählung rückwärts bis Zeile 2
'Abfragen, ob in der ersten Spalte der Buchstabe "x" steht
    If Cells(t, 1).Value = "x" Then
        Rows(t).Delete Shift:=xlUp
    End If
Next t
End Sub
Hi,

mach eine Schleife um deinen Code:

Code:
For Each Blatt in ThisWorkbook.Worksheets
    With Blatt
        'hier dein bisheriger Code
        'allerdings muss vor jedes Cells und jedes Rows ein Punkt (.Cells bzw. .Rows)
    End With
Next Blatt
Hi. Vielen Dank für deine Hilfe.
Kannst du mir evtl. noch bei einer Sache weiterhelfen:
Aktuell sucht der Code genau nach den Zelleninhalt "A". Wie bekomme ich es hin dass er auch die Zeilen nimmt bei denen auch das "a" innerhalb einer Zeichenkette vorkommt.
Habe mit * als Platzhalter gearbeitet: "*A" aber das funktioniert nicht.
Vielen Dank.
Smile, dein Code sucht nicht nach "A" sondern nach "x".  21

Wenn du nach "a" irgendwo in der Zelle suchen willst, dann schau dir mal die Funktion InStr() an. Alternativ kannst du auch den Like-Operator statt des Gleichheitszeichens verwenden.
Hallo,

Für einen Textvergleich mit Platzhaltern kannst du zum Beispiel den Like Operator verwenden:
Code:
If meinText Like "*a*" Then Debug.Print "Muster"

Viele Grüße
derHöpp
Du hast natürlich Recht. Im Code sucht er aktuell nach "X". Das war sozusagen als unbekannte eintragen. Aber ich suche nach der Bedingung A.
Sind Artikelnummern und wenn in der Nummer ein A soll dieser gelöscht werden.
Nochmal vielen Dank an euch!!!