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

Löschen von Worksheets zwecks Initialisierung

Forumthread: Löschen von Worksheets zwecks Initialisierung

Löschen von Worksheets zwecks Initialisierung
18.08.2008 12:31:09
Worksheets
Hallo,
häufig besteht der Bedarf, ein Worksheet vor Programmstart, bis auf die überschriften zu löschen. Grundsätzliche Bedingung ist - kein Select des Sheets darf nötig sein.
Ich benutze hierfür:

Sheets(ARBEITSBLATT).Range(loeschbereich).ClearContents


Leider hat diese Methode einen riesen Nachteil, denn wenn jemand einen Auto-Filter nachträglich einbaut und eine Selektion stehen lässt, werden alle nicht selektierten nicht gelöscht!
Ein sequentielles löschen jeder Zeile, würde die Lösung bringen, jedoch ist das viel zu langsam.
- a) Gibt es anstatt .ClearContents ein Werkzeug das auch die verdeckten Zeilen löscht?
- b) Notlösung: Eine Funktion, die abfragt ob ein Autofilter vorhanden ist, und ihn auf alles Anzeigen schaltet
- c) oder zur variante b) wenn er ihn nicht auf alles Anzeigen schalten kann, dann eben den Auto-Filter ganz raus werfen.
Gruß Eddie

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Löschen von Worksheets zwecks Initialisierung
18.08.2008 12:43:00
Worksheets
Hallo,
zu b)
If Sheets(ARBEITSBLATT).FilterMode Then Sheets(ARBEITSBLATT).ShowAllData
Gruß
Rudi

AW: Löschen von Worksheets zwecks Initialisierung
18.08.2008 12:44:47
Worksheets
das natürlich noch besser ^^

AW: Löschen von Worksheets zwecks Initialisierung
18.08.2008 13:19:30
Worksheets
Hallo,
ich sage schon mal danke an Alle. Diese Variante von Rudi, scheint mir das Optimum im meinem Fall zu sein.
Gruß Eddie

Anzeige
AW: Löschen von Worksheets zwecks Initialisierung
18.08.2008 12:44:02
Worksheets
Wenn ein Filter an ist, löscht er die Filter und setzt ihn neu was automatisch alle voreinstellungen wegnimmt. (Range für die Spalten entsprechend anpassen)
If Sheets(ARBEITSBLATT).AutoFilterMode Then Range("A1").AutoFilter
Range("A1:B1").AutoFilter

AW: Löschen von Worksheets zwecks Initialisierung
18.08.2008 12:47:00
Worksheets
Hallo Eddie,
angenommen, die Spaltenüberschriften stehen in A1:B1 und der Löschbereich ist A2:B7, beides in Tabelle1:

Sub Loeschen()
Set loeschbereich = Worksheets("Tabelle1").Range("A2:B7")
If Range("A1").AutoFilter = True Then
Range("A1").AutoFilter
End If
loeschbereich.ClearContents
End Sub


Gruß
Martin

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige