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
Max schrieb: > Hier macht er auch wenn ich keinen Failed text habe, die Zeile löschen. Genauer: "Er" (wer eigentlich?) löscht die Zeilen nur dann, wenn da nicht Failed steht. Und so steht das ja auch da. Sieh Dir mal die Vergleichsperatoren in VB an, was mag wohl "<>" sein?
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
Nun, liefert denn Application.CountA() den Inhalt einer Zelle? Ich habe da so meine Zweifel.
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.
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
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.