Zeilen löschen, wenn diese bestimmte Kriterien nicht erfüllen
Hallo Programmierer,
ich habe wiedermal eine Bitte an euch.
Habe versucht mir die Antworten per Google einzuholen, hat aber nichts geholfen.
Nun hoffe ich auf eure Hilfe
undzwar habe ich eine Tabelle mit etlichen Zeilen und viele davon werden nicht benötigt.
Über Spalte E sollen alle Zeilen gelöscht werden, welche NICHT "1, 5, 12 oder 15" enthalten.
Könnt Ihr mir bei dem Problem helfen?
Wäre euch sehr dankbar.
Viele Grüße
Tobi
ich habe wiedermal eine Bitte an euch.
Habe versucht mir die Antworten per Google einzuholen, hat aber nichts geholfen.
Nun hoffe ich auf eure Hilfe
undzwar habe ich eine Tabelle mit etlichen Zeilen und viele davon werden nicht benötigt.
Über Spalte E sollen alle Zeilen gelöscht werden, welche NICHT "1, 5, 12 oder 15" enthalten.
Könnt Ihr mir bei dem Problem helfen?
Wäre euch sehr dankbar.
Viele Grüße
Tobi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 137882
Url: https://administrator.de/contentid/137882
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo Tobi,
Was brauchst du alles?:
- eine Schleife die deine Spalte E durchläuft bis der letzte Eintrag erreicht ist
- Wertevergleich der die Zelle mit 1, 5, 12 oder 15 vergleicht
- Befehl zum Zeile entfernen
Rows("zeile:zeile").Select
Selection.Delete Shift:=xlUp
Das Ganze packst du in ein Makro und führst es aus =).
Kleiner Tip: für viele Sachen ist der Makrorecorder dein Bester Freund.
Grüße
Was brauchst du alles?:
- eine Schleife die deine Spalte E durchläuft bis der letzte Eintrag erreicht ist
- Wertevergleich der die Zelle mit 1, 5, 12 oder 15 vergleicht
- Befehl zum Zeile entfernen
Rows("zeile:zeile").Select
Selection.Delete Shift:=xlUp
Das Ganze packst du in ein Makro und führst es aus =).
Kleiner Tip: für viele Sachen ist der Makrorecorder dein Bester Freund.
Grüße
Hallo Tobi!
In Spalte E wird der Inhalt mit den Suchbegriffen im Suchtext (durch Kommata getrennt) verglichen.
Im Suchtext kann auch das "*"-Zeichen für einen Teil-Text-Vergleich verwendet werden z.B.:
Oder z.B. "Das ist ein Wort innerhalb eines Textes"
wird auch als Übereinstimmung gewertet.
Außerdem stehen noch das "?"-Zeichen für 1 beliebiges Zeichen und das Zeichen "#"-Zeichen für 1 beliebigen numerischen Wert zur Verfügung.
Quellcode im VB-Editor in ein Modul kopieren und Konstanten entsprechend anpassen:
Gruß Dieter
PS. Also der Beitrag wurde geändert und mein Code-Beispiel entspricht dem vorherigen Text???? Ist aber auch egal
In Spalte E wird der Inhalt mit den Suchbegriffen im Suchtext (durch Kommata getrennt) verglichen.
Im Suchtext kann auch das "*"-Zeichen für einen Teil-Text-Vergleich verwendet werden z.B.:
Suchtext = "Clienttest, Clientv3, EUC, EUC_I_IS, EUC_CU_SFS" oder Suchtext = "Client*, EUC*" |
Oder z.B. "Das ist ein Wort innerhalb eines Textes"
Suchtext = "*Wort*" |
Außerdem stehen noch das "?"-Zeichen für 1 beliebiges Zeichen und das Zeichen "#"-Zeichen für 1 beliebigen numerischen Wert zur Verfügung.
Quellcode im VB-Editor in ein Modul kopieren und Konstanten entsprechend anpassen:
Option Explicit
Option Compare Text
Const SheetNamen = "Tabelle1"
Const SuchSpalte = "E"
Const Suchtext = "Clienttest, Clientv3, EUC, EUC_I_IS, EUC_CU_SFS"
Sub DeleteLine()
Dim Text As Variant, Found As Boolean, i As Long, EndLine As Long, s As Integer
Sheets(SheetNamen).Activate
EndLine = Cells(Rows.Count, SuchSpalte).End(xlUp).Row
Text = Split(Suchtext, ",")
Application.ScreenUpdating = False
For i = 1 To EndLine
If i > EndLine Then Exit For
Found = False
For s = 0 To UBound(Text)
If Cells(i, SuchSpalte) Like Trim(Text(s)) Then Found = True: Exit For
Next
If Found = False Then Rows(i).Delete: i = i - 1: EndLine = EndLine - 1
Next
Application.ScreenUpdating = True
End Sub
Gruß Dieter
PS. Also der Beitrag wurde geändert und mein Code-Beispiel entspricht dem vorherigen Text???? Ist aber auch egal
Hallo Tobi!
Yepp, gern geschehen
Gruß Dieter
PS. Zeile 14 geändert von Spalte A nach SuchSpalte
Yepp, gern geschehen
Gruß Dieter
PS. Zeile 14 geändert von Spalte A nach SuchSpalte