Gefundene Datensaetze automatisch loeschen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Gefundene Datensaetze automatisch loeschen

    Gefundene Datensaetze automatisch loeschen
    Versionen: Excel 97, 2000 und 2002

    Mit den Filterfunktionen von Excel koennen Sie Listen
    schnell und komfortabel auswerten. Wenige Mausklicks
    genuegen, um alle Eintraege ausfindig zu machen, die
    bestimmten Kriterien entsprechen. Bei Bedarf koennen Sie die
    Fundstellen sogar in einen anderen Bereich kopieren, aber es
    gibt standardmaessig keine Moeglichkeit, die gefundenen
    Listenzeilen zu loeschen. Wenn Sie beispielsweise eine
    offene Posten-Liste fuehren und alle bezahlten Rechnungen
    loeschen wollen, muessen Sie diesen Vorgang manuell
    ausfuehren. Alternativ dazu koennen Sie auch die folgende
    VBA-Prozedur verwenden, die Excel um die fehlende Funktion
    zum Loeschen der Fundstellen erweitert:

    Sub DatensaetzeLoeschen()

    Antwort = MsgBox("Alle sichtbaren Zeilen loeschen?", _
    vbYesNo, "Zeilen loeschen")

    If Antwort = vbNo Then GoTo Ende
    Application.ScreenUpdating = False

    ErsteZeile = ActiveCell.CurrentRegion.Row + 1
    ErsteSpalte = ActiveCell.CurrentRegion.Column

    LetzteZeile = ErsteZeile + _
    ActiveCell.CurrentRegion.Rows.Count - 2

    LetzteSpalte = ErsteSpalte + _
    ActiveCell.CurrentRegion.Columns.Count - 1

    Set SichtbarerBereich = Range(Cells(ErsteZeile, _
    ErsteSpalte), Cells(LetzteZeile, _
    LetzteSpalte)).SpecialCells(xlVisible)

    AnzahlBereiche = SichtbarerBereich.Areas.Count

    For Zaehler = 1 To AnzahlBereiche
    Range(SichtbarerBereich.Areas(1).Address).Delete _
    Shift:=xlUp
    Next

    Application.ScreenUpdating = True

    Ende:
    End Sub


    Nachdem Sie die Prozedur im VBA-Editor eingegeben haben,
    koennen Sie sie folgendermassen einsetzen:

    1. Definieren Sie einen Filter, so dass in der Liste nur
    noch die Eintraege angezeigt werden, die Sie loeschen
    wollen.

    2. Klicken Sie auf eine beliebige Zelle in der Liste.

    3. Starten Sie das Makro "DatensaetzeLoeschen" ueber das
    Dialogfeld EXTRAS-MAKRO-MAKROS.

    4. Nachdem die Sicherheitsabfrage mit JA bestaetigt haben,
    werden die gefundenen Listenzeilen geloescht.

    5. Auf dem Bildschirm ist daraufhin nur noch die erste
    Listenzeile mit den Spaltenueberschriften zu sehen, aber
    mit DATEN-FILTER-ALLE ANZEIGEN blenden Sie den Rest der
    Liste wieder ein.

    Kurz zur Funktionsweise des Makros: Nachdem die
    Sicherheitsabfrage mit JA beantwortet wurde, ermittelt die
    VBA-Prozedur zunaechst einmal die erste und letzte Zeile
    sowie die erste und letzte Spalte des Datenbereiches.
    Anschliessend werden alle sichtbaren Zellen des
    Datenbereiches markiert. Da es sich um ein Filterergebnis
    handelt, sind zwischen den sichtbaren Zeilen die nicht
    passenden Eintraege ausgeblendet worden und die Markierung
    besteht dementsprechend aus mehreren Bereichen. Die Anzahl
    der Bereiche wird daraufhin mit "Areas.Count" ermittelt und
    eine For-Next-Schleife loescht jeden Bereich mit "Delete".

    Übernommen von SmartTools