Zellen löschen nach dem Text in VBA

Gast #3721990
Hallo,
ich komme momentan gar nicht so recht weiter. Möchte in VBA wenn in 
einer Zeile kein Text mit Failed erscheint löschen. Hab aus dem internet 
was gefunden.

For Zeile = 3 To 300
  If Application.CountA(Sheets("Tabelle1").Cells(Zeile, 8).Rows(Zeile)) 
<>   "Failed"  Then
    Sheets("Tabelle").Rows(Zeile).EntireRow.Delete
  else

  End If
Next

Hier macht er auch wenn ich keinen Failed text habe, die Zeile löschen.

Hoffe, dass mir jemand weiterhelfen kann.

Gruß
Max
Gast
Hi Rufus,
sorry! Ja ich meinte natürlich auch wenn ich in der IF-Anweisung einen 
"=" setze, löscht das Programm keine Zeilen. VBA findet in diesem Fall 
den Text nicht.

Vielen Dank!

Gruß
Max
O.g Code bringt bei mir Murks. Auch WorksheetFunction.CountA() ist nicht 
zweckmäßig. Und sollte das Suchwort, hier "Failed", in mehreren Zeilen 
direkt nacheinander vorkommen, dann wird die jeweils zweite Zeile nicht 
bearbeitet, da beim Löschen einer Zeile die nachfolgenden aufrücken und 
die aktuelle Zeilennummer schon abgearbeitet ist. Man muß also den 
Zähler zurücksetzen oder nach jedem Löschen die Schleife neu starten.
Gast
So sollte er Zeile löschen, wenn in Spalte 8 kein "Failed" steht,
For Zeile = 3 To 300
  If Sheets("Tabelle1").Cells(Zeile, 8).Value _
  <>  "Failed"  Then
    Sheets("Tabelle").Rows(Zeile).EntireRow.Delete
  else
  End If
Next

So sollte er Zeile löschen, wenn in Spalten 1 bis 100 kein "Failed" 
steht,

For i=1 to 100
 For Zeile = 3 To 300
   If Sheets("Tabelle1").Cells(Zeile, 8).Value _
   <>  "Failed"  Then
     Sheets("Tabelle").Rows(Zeile).EntireRow.Delete
   else
   End If
 Next
Next
Gast
paar Fehler bereinigt:

So sollte er Zeile löschen, wenn in Spalte 8 kein "Failed" steht,
For Zeile = 3 To 300
  If Sheets("Tabelle1").Cells(Zeile, 8).Value _
  <>  "Failed"  Then
    Sheets("Tabelle").Rows(Zeile).EntireRow.Delete
    Zeile=Zeile-1
  else
  End If
Next

So sollte er Zeile löschen, wenn in Spalten 1 bis 100 kein "Failed"
steht,

For i=1 to 100
 For Zeile = 3 To 300
   If Sheets("Tabelle1").Cells(Zeile, i).Value _
   <>  "Failed"  Then
     Sheets("Tabelle").Rows(Zeile).EntireRow.Delete
     Zeile=Zeile-1
   else
   End If
 Next
Next

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.