Wenn ich das ganz jetzt auch für komplette Zeilen löschen
nutzen will.
Also wort eingeben und alle Zeilen löschen die nicht das
gesuchte Wort enthalten.Wie würde es dann aussehen?
Wäre schön wenn Du mir ein Stichworte dazu schreibst damit ich
es verstehe
Hallo Jo,
vergleiche beide Codes sie sind analog aufgebaut.
Prinziop ist immer gleich. Vba weiß ja nicht wieviele Spalten gefüllt sind, das ermittle ich dann mit specialscells usw.
Dann gehe ich Spalte für Spalte durch.
Das macht man nahezu immer rückwärts denn dann muß man nicht in die Spaltenzählung eingreifen per Code.
(Ging ich von Spalte 1 los und müßte die lösechen dann ist sie ja weg, somit ist AltB dann neuA und AltC dann NeuB, dann würde der Code in der For Schleife die zweite Spalte prüfen, das ist aber jezt die alte Spalte B, d.h. die alte Spalte B wurde gar nicht geprüft.
Rückwärts passiert das eben nicht)
Mit Zählenwenn in Vba-Schreibweise (CountIf) zähle ich dann den Suchbegriff, Wenn 0 gezählt Spalte löschen.
Sub LoeschZeile()
Dim Zei As Long, Eing
Eing = InputBox("Wert eingeben", "Löschabfrage")
If Eing = "" Then Exit Sub
With Worksheets("Tabelle1")
For Zei = .UsedRange.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If Application.CountIf(.Rows(Zei), "\*" & Eing & "\*") = 0 Then
.Rows(Spa).Delete
End If
Next Spa
End With
End Sub
Gruß
Reinhard