Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
844to848
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
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bedingtes Löschen von Zeilen

Bedingtes Löschen von Zeilen
19.02.2007 21:57:00
Zeilen
Guten Abend,
ich habe ein Listenfeld "listOptional" (2 Spalten) in einer Form (frmAuswahl), wo der User
mehrere Einträge gleichzeitig auswählen kann.
In der ersten Spalte im Listenfeld befindet sich immer ein Buchstabe (z. B. a, b, c .... z.).
Wählt der User nun bestimmte Einträge aus dem Listenfeld aus und klickt auf cmdOK,
möchte ich, dass im Tabellenblatt "Eintrag" alle Zeilen gelöscht werden,
die den gleichen Buchstaben in Spalte 1 ab Zeile 3 enthalten, wie die Auswahl im Listenfeld.
Bsp:
Wählt der User aus dem Listenfeld "listOptional" die Einträge a, d und f aus, soll im Tabellenblatt
"Eintrag" ab Zeile 3 in Spalte 1 alle Zellinhalte durchsucht werden (bis zum letzten Eintrag
in Spalte 1), die entweder den Value a, d oder f enthalten und diese Zeilen entsprechend
löschen.
Bin für jede Hilfe dankbar!
mfg,
Markus

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bedingtes Löschen von Zeilen
19.02.2007 22:13:51
Zeilen
Hallo Markus,
ungetestet.
Private Sub cmdOK_Click()
    Dim rng As Range, rngDel As Range
    Dim varValues() As String
    Dim intC As Integer, IntI As Integer
    Dim strFirst As String
    
    With listOptional
        For intC = 0 To .ListCount - 1
            If .Selected(intC) Then
                Redim Preserve varValues(IntI)
                varValues(IntI) = .List(intC, 0)
                IntI = IntI + 1
            End If
        Next
    End With
    
    If IntI = 0 Then Exit Sub
    
    For intC = 0 To UBound(varValues)
        strFirst = ""
        With Sheets("Eintrag")
            Set rng = .Columns(1).Find(What:=varValues(intC), LookAt:=xlWhole)
            If Not rng Is Nothing Then
                strFirst = rng.Address
                Do
                    If rng.Row > 2 Then
                        If rngDel Is Nothing Then
                            Set rngDel = rng.EntireRow
                        Else
                            Set rngDel = Union(rngDel, rng.EntireRow)
                        End If
                    End If
                    Set rng = .Columns(1).FindNext(rng)
                Loop While Not rng Is Nothing And rng.Address <> strFirst
            End If
        End With
    Next
    
    If Not rngDel Is Nothing Then rngDel.Delete
    
    Set rng = Nothing
    Set rngDel = Nothing
    
End Sub

Gruß Sepp
Anzeige
AW: Bedingtes Löschen von Zeilen
19.02.2007 23:29:00
Zeilen
Hallo Sepp,
vielen Dank für Deinen Code, der sehr gut funktioniert!
Ein Frage habe ich noch dazu:
Was muss ich am Code ändern, wenn ich die Zeilen nur ausblenden statt löschen möchte?
mfg,
markus
AW: Bedingtes Löschen von Zeilen
19.02.2007 22:35:00
Zeilen
Hallo Markus,
meinst du so etwas: https://www.herber.de/bbs/user/40550.xls
Gruß Peter
Eine Rückmeldung, ob es läuft, wäre nett - danke.
AW: Bedingtes Löschen von Zeilen
20.02.2007 00:01:00
Zeilen
Hallo Peter,
danke für Deine Hilfe!!!!
Leider bekomme ich bei der Datei immer den Laufzeitfehler 1004 "Die Methode 'Worksheets' für das Objekt Global ist fehlgeschlagen", wenn ich auf den Button frmAuswahlanzeigen klicke.
mfg,
Markus
Anzeige
AW: Bedingtes Löschen von Zeilen
20.02.2007 09:39:00
Zeilen
Hallo Markus,
da bei mir der Fehler nicht auftritt, kann ich ihn auch nicht nachvollziehen, sprich beseitigen.
Gruß Peter
AW: Bedingtes Löschen von Zeilen
20.02.2007 10:32:21
Zeilen
Hallo Markus,
hast du dir die Mappe 'runtergeladen' oder nur per Klick ausprobiert?
Evtl. hilft es, sie dir richtig auf deinen PC zu laden und dann zu probieren.
Gruß Peter
AW: Bedingtes Löschen von Zeilen
20.02.2007 17:55:58
Zeilen
Hallo Peter,
wenn ich die Datei richtig downloade funktioniert es problemlos, danke!
Gruß,
Markus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige