Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA -Kriterium in Tabelle suchen und Zeile löschen

VBA -Kriterium in Tabelle suchen und Zeile löschen
21.05.2015 14:43:50
Michael
Hallo zusammen,
ich möchte in einer Tabelle mittels VBA innerhalb einer Spalte nach einem Wert suchen(Spaltenüberschrift lautet Name) und dieses mitsamt der ganzen Zeile löschen (gesuchter Wert Schmitz).
Am Beispiel erklärt:
Das Makro soll in der gesamten Tabelle innerhalb der Spalte "Name" nach dem Wert "Schmitz" suchen. Kommt dieser in einer Zeile vor so soll dann die komplette Zeile gelöscht werden.
Kann mir jemand hierzu einige Tipps geben?
Danke im voraus!
Gruß
Michael

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
VBA -Kriterium in Tabelle suchen und Zeile löschen
21.05.2015 15:19:53
Nepumuk
Hallo,
soll das Makro selber nach der Spalte suchen oder ist die fest? Was wenn z.B. Schmitz-Maier in einer Zelle steht soll es dann trotzdem den Eintrag als gefunden ansehen? Was wenn es 2 oder 3 Schmitz gibt?
Gruß
Nepumuk

AW: VBA -Kriterium in Tabelle suchen und Zeile löschen
21.05.2015 15:31:36
Michael
Hallo Nepumuk,
die Spalte ist fest. Das Makro soll die komplette Zeile löschen wenn Schmitz vorkommt, und auch nur wenn das Kriterium in dieser Spalte und genau mit Schmitz vorkommt. Es gibt mehrere Schmitz. Das Makro soll alle davon mitsamt der kompletten Zeile löschen.
Danke und Gruß
Michael

VBA -Kriterium in Tabelle suchen und Zeile löschen
21.05.2015 15:38:36
Nepumuk
Hallo,
teste mal:
Public Sub Loeschen()
        Dim strReturn As String
        Dim objCell As Range
        Do
            strReturn = InputBox("Bitte den zu löschenden Namen eingeben.", "Eingabe")
            If StrPtr(strReturn) = 0 Then Exit Do
            With Columns("H") 'Spalte anpassen !!!!
                Do
                    Set objCell = .Find(What:=strReturn, LookIn:=xlValues, _
                        LookAt:=xlWhole, MatchCase:=True)
                    If Not objCell Is Nothing Then
                        objCell.EntireRow.Delete
                    Else
                        Exit Do
                    End If
                Loop
            End If
        End With
    Loop
End Sub

Gruß
Nepumuk

Anzeige
Da ist noch ein Fehler drin
21.05.2015 15:40:35
Nepumuk
So passts:
Public Sub Loeschen()
    Dim strReturn As String
    Dim objCell As Range
    Do
        strReturn = InputBox("Bitte den zu löschenden Namen eingeben.", "Eingabe")
        If StrPtr(strReturn) = 0 Then Exit Do
        With Columns("H") 'Spalte anpassen !!!!
            Do
                Set objCell = .Find(What:=strReturn, LookIn:=xlValues, _
                    LookAt:=xlWhole, MatchCase:=True)
                If Not objCell Is Nothing Then
                    objCell.EntireRow.Delete
                Else
                    Exit Do
                End If
            Loop
        End With
    Loop
End Sub

Anzeige
AW: Da ist noch ein Fehler drin
21.05.2015 16:05:24
Michael
Danke Nepumuk,
das klappt sehr gut jedoch nun folgendes Problem. Zwar ist die InputBox ne super Sache, jedoch in diesem Fall nicht nötig. Das Kriterium bleibt stets das gleiche oder kann ich dann dementsprechend im Code anpassen.
Ich würde zB auch gerne die einzelnen Sheets klar definieren damit das Makro entsprechend nacheinander die Löschvorgänge durchführt und die Prozedur unterscheidet sich je nach Sheet.
Ein Beispiel:
Angenommen 3 Sheets
im ersten kann der Wert sowohl in Spalte E aber auch in F vorkommen. In diesem Fall soll die komplette Zeile gelöscht werden.
im zweiten sheet kann der Werte auch in der Spalte E und F vorkommen. Die Zeile soll aber nur dann komplett gelöscht werden wenn der Wert in F vorkommt.
im dritten Sheet etwas komplzierter. Kommt der Wert in spalte E vor soll sie komplett gelöscht werden. Spalte F wiederum soll "Schmitz" enthalten, tut sie das nicht soll sie komplett gelöscht werden.
Kannst du ansatzweise verstehen um was es mir geht?
Gruß und schonmal Danke für deinen Code. An dem werde ich auf jeden Fall weiter arbeiten.
Michael

Anzeige
Null Bock auf Salamitaktik o.T.
21.05.2015 17:22:23
Nepumuk

365 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige