Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Filter-Ergebnisse ohne Titel löschen (VBA)

Filter-Ergebnisse ohne Titel löschen (VBA)
10.10.2017 18:20:31
Markus
Hallo,
ich möchte gerne per VBA die Ergebnisse eines dynamisch gefilterten Blattes löschen.
Bisher habe ich dafür folgenden Code, der grundsätzlich auch funktioniert.
Kann mir jemand sagen, was ich hier noch ändern muss, damit auch folgendes gegeben ist ?
1) Wie erreiche ich, dass Zeile 1, d.h. die Titel des Filters generell nicht gelöscht werden (ich hatte hier evtl. an Offset gedacht) ?
2) Wie verhindere ich eine Fehlermeldung, wenn der Filter keine Ergebnisse liefert, d.h. wenn nach dem Filtern nur Zeile 1 bzw. die Titel zu sehen sind ?
Mein Code:
    With varTargetSheet
.Range("A:Z").SpecialCells(xlCellTypeVisible).EntireRow.Delete
.Cells.AutoFilter
End With
Vielen Dank im Voraus für Eure Hilfe,
Markus
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filter-Ergebnisse ohne Titel löschen (VBA)
10.10.2017 18:41:35
Luschi
Hallo Markus,
warum so theoretisch. Mit einer kleinen Demodatei im Anhang würde ich schon längst an der Problem-Lösung arbeiten.
Gruß von Luschi
aus klein-Paris
AW: Filter-Ergebnisse ohne Titel löschen (VBA)
10.10.2017 18:51:49
Daniel
Hi
beispielsweise so:
with varTargetSheet.Usedrange.Columns(1)
if .SpecialCells(celltypevisible).Cells.Count > 1 then
.Resize(.Rows.Count - 1).Offset(1, 0).SpecialCells(xlcelltypevisible).EntireRow.Delete
end if
end with
Gruß Daniel
Anzeige
AW: Filter-Ergebnisse ohne Titel löschen (VBA)
10.10.2017 20:13:04
Markus
Hallo Daniel,
vielen Dank dafür - das ist super !
Nur damit ich es auch verstehe, was genau macht denn das Resize hier ?
VG,
Markus
AW: Filter-Ergebnisse ohne Titel löschen (VBA)
10.10.2017 20:21:57
Daniel
naja, was Resize bedeutet, kannst du leicht in einem normalen Wörterbuch nachschlagen.
um die Überschrift auszuschließen, wird der Filterbereich um eine Zeile nach unten verschoben.
damit würde die erste Zeile nach dem Filterbereich mit gelöscht werden.
Das könnte zu Problemen führen, wenn unterhalb noch Daten stehen. Um das zu vermeiden, wird der Bereich dann eben verkleinert, damit auch nach dem Verschieben sich die letzte Zeile nicht ändert.
ist aber nur wichtig, wenn unterhalb noch Daten stehen oder dein Filterbereich bis zur letzten Zeile des Tabellenblatts reicht.
Gruß Daniel
Anzeige
AW: Filter-Ergebnisse ohne Titel löschen (VBA)
10.10.2017 20:36:57
Markus
Alles klar - dann verwende ich es ohne Resize.
Vielen Dank nochmal, auch für die Erklärung !
VG,
Markus

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige