URL: https://www.overclockers.at/coding-stuff/kleine-vba_frage_172332/page_1 - zur Vollversion wechseln!
hi!
ich hab hier eine lange excel-datei aus der ich bestimmte sachen löschen sollte. drum bräucht ich ein kleines script, das einfach alle ZEILEN löscht, die ein bestimmtes wort oder so beinhalten. ich dachte meine vba-kenntnisse sind noch ausreichen, hab aber leider schon zu viel vergessen.
danke im vorraus
die7werge
ich weiß zwar jetzt auf die schnelle keine vba lösung... zum glück muss ich sagen da vba der teufel ist... ABER vielleicht kannst du das ganze mit nem autofilter lösen?
also filter erstellen, nach dem bestimmten wort filtern und dann die zeilen löschen.
Code: PHPSub DeleteRowByValue(myvalue As String) Dim c As Range For Each c In ActiveWindow.RangeSelection If c.value = myvalue Then c.EntireRow.Delete End If Next c End Sub
sehr nett, danke!
Der erste Blick sagt mir, dass das nicht ganz funktionieren kann. Wenn eine Zeile gelöscht wird, beginnt dieses Stück Code IMHO nicht zu Beginn der nun aktuellen Zeile. Die Zellen in der nachgerückten Zeile, die sich vor der aktuellen Zelle befinden, bleiben in diesem Fall ungeprüft und die Lösung ist nicht zu hundert Prozent effektiv.
Zudem wäre die Angabe von myvalue über eine InputBox vielleicht eine besserer Ansatz
lösung?
@jc, interessanter einwand - aber excel lässt da nichts aus, auch wenn da zweimal untereinander der gleiche wert steht
mit input box:
Code: PHPSub DeleteRowByValue() Dim myvalue As String Dim c As Range myvalue = InputBox("Bitte den zu suchenden Text eingeben!", "Zeilen mit Text löschen", "Suchtext") For Each c In ActiveWindow.RangeSelection If c.Value = myvalue Then c.EntireRow.Delete End If Next c End Sub
Zitat von die 7 zwergelösung?
bzw solange die schleife wiederholen und nen counter mitrennen lassen bis die anzahl der ersetzungen 0 ist
damit erschlägt man dann auch fälle > 2
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025