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

Filterergebnis partiell löschen

Filterergebnis partiell löschen
24.10.2007 13:39:00
Melanie
Hallo Excel-Gemeinde,
ich habe eine Frage bezüglich eines Codes und zwar möchte ich eine Auswahl des Autofilters, sprich das Filterergebnis löschen, allerdings nur partiell.
Heißt konkret, ich habe eine Tabelle in der die Spalten A bis AE gefüllt sind. Jetzt will ich nach der Spalte J filtern und dann die Einträge in den Spalten P bis AE im Bereich des aktuell gefilterten Ergebnisses löschen. Das ganze mache ich um die Dateigröße etwas zu minimieren.
Mit dem unten angehängten Code kann das komplette Ergebnis des Autofiltes gelöscht werden. Kann das eventuell jemand für mich anpassen?
Im Voraus besten Dank!!
Grüße, Melanie
Selection.AutoFilter Field:=10, Criteria1:="P"
With ActiveSheet.AutoFilter.Range.Offset(1)
.Resize(ActiveSheet.AutoFilter.Range.Rows.Count - 1).EntireRow.Delete _
shift:=xlUp
End With

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filterergebnis partiell löschen
24.10.2007 13:52:00
Mike
Hallo
ich würde den Spaltenkopfwählemn und dann:
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToLeft)).Selectereich
selection.clearcontent
gruß
Mike

Berecih per INTERSECT bestimmen und Löschen
24.10.2007 14:51:11
NoNet
Hallo Melanie,
Du kannst per VBA die Schnittmenge der Spalten P:AE und dem Filterergebnis bestimmen und deren Inhalt löschen :
Sub AutofilterErgebnisPartiellLoeschen()
    Selection.AutoFilter Field:=10, Criteria1:="P"
    Intersect(Range("P" & (ActiveSheet.AutoFilter.Range.Row + 1) & _
        ":AE" & (ActiveSheet.AutoFilter.Range.Row + _
        ActiveSheet.AutoFilter.Range.Rows.Count - 1)), _
        Cells.SpecialCells(xlCellTypeVisible)).ClearContents
End Sub

Falls zuviele unterschiedliche Zeilen gefiltert wurden, kann es evtl. zu einer Fehlermeldung führen (da SpecialCells nur 8192 unterschiedliche Bereiche referenzieren kann !). In diesem Fall empfiehlt es sich, die Tabelle zuvor nach der zu filternden Spalte J zu sortieren, so dass die gefilterten Zeilen direkt in einem "Block" (kontinuierlichen Bereich) stehen.
Bitte teste das Makro dennoch zuvor an einer KOPIE Deines Tabellenblattes !
Gruß, NoNet

Anzeige
AW: Berecih per INTERSECT bestimmen und Löschen
24.10.2007 15:18:21
Melanie
Vielen Dank euch beiden!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige