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

Löschen nach dem Filtern

Löschen nach dem Filtern
10.08.2004 16:45:30
Klaus
Servus,
ich hoffe ihr könnt mir helfen.
Bei meinem Problem geht es um die Autofilterfunktion.
Ich habe eine Tabellenblatt, dieses Blatt ist voll mit Werten. Jetzt will ich die Spalte A nach einen Wert suchen lassen der ungleich 10 ist. Falls er was gefunden hat, soll er alle Zeilen die ungleich 10 sind löschen! Aber wirklich nur die mit dem Wert ungleich 10.
Wie kann ich das als VBA-Code schreiben. Das mit dem Filtern ist klar, mich interessiert wie ich das mach das er mir diese Zeilen löscht, die er gefunden hat.
Danke
Gruß Klaus

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Löschen nach dem Filtern
Boris
Hi Klaus,
gefiltert wird nach Spalte A.

Sub filtern_und_loeschen()
[a1].AutoFilter field:=1, Criteria1:="<>10"
Rows("2:65536").Delete
ActiveSheet.ShowAllData
End Sub

Grüße Boris
AW: Löschen nach dem Filtern
Klaus
Danke Boris.
Sicher, das keine Wert verloren gehen wenn ich "Rows("2:65536").Delete" benutze?
Gruß Klaus
Probier´s aus...oT
Boris
Grüße Boris
Hast du einen guten Anwalt ;-)
10.08.2004 19:14:52
peh
Hi Boris,
das hier die ausgeblendeten Zeilen nicht gelöscht werden ist sicherlich ein BUG.
Bei welcher Excelversion das funktioniert steht in MS - Sternen.
Ich gehe mal davon aus, das ein anderes Rows-Objekt dort auf einmal eingesetzt wird.
über Specialcells dürfte es etwas sicherer sein.
(für die richtige Zuordnung der Rows ist der Programmierer natürlich verantwortlich ;)
Aber das ist Murks
(Ganz von den Unwegbarkeiten wo die LIste anfängt abgesehen ;-) )
Gruß Peter
Anzeige
Aber selbstverständich doch...;-))
Boris
Hi Peter,
ich hatte mich beim Testen ja auch gewundert - und in der Hilfe hab ich auch nix entsprechendes gefunden - aber zumindest unter xl97 werden tatsächlich nur die sichtbaren Zeilen gelöscht...
Wie ist es denn bei anderen Excelversionen?
Und noch weiter: Was gibt´s denn dafür für ne Erklärung? Tatsächlich nur "BUG"? Oder vielleicht doch noch was anderes?
Grüße Boris
Sichtbare Zeilen löschen
Beate
Hallo zusammen,
unter Excel XP Pro läuft es ebenfalls.
Gruß,
Beate
Da es auch unter xl2000 geht (grad getestet)...
Boris
Hi Peter,
...stellt sich mir jetzt wirklich die Frage: Wie kann das sein? Zu welchem Objekt mutiert "Rows" denn da auf einmal im Zusammenhang mit dem Autofilter?
Grüße Boris
Anzeige
Wie vermutet
11.08.2004 08:59:42
peh
HI Boris,
wie vermutet steckt das Autofilterobjekt dahinter.
Was prinzipiell völlig unverständlich ist, da es nicht explicit angesprochen ist.
Was hinzukommt ist natürlich, dass Zeilen unterhalb des Autofilters mitgelöscht werden
(wobei ich dir recht gebe, dass dort keine Zeilen hingehören aber es gibt Leute ...)
Besser gefällt mir der Würgaround - Hier ohne Sicherheitsabfragen:
Ist auch egal wo die gefilterte Liste steht.
Wobei sich das alles wesentlich verkürzen läßt aber das Prinzip wird durch die
Schreibweise klarer:

Sub boris()
Dim x As AutoFilter, oBlatt As Worksheet, oRange As Range
Set oBlatt = ActiveSheet
Set x = oBlatt.AutoFilter
Set oRange = x.Range.Rows("2:" & x.Range.Rows.Count)
Set oRange = oRange.Columns(1).SpecialCells(xlCellTypeVisible)
MsgBox oRange.Address
'oRange.EntireRow.Delete
End Sub

Tatsächlich kann es im Extremfall platzen, wenn zuviele Ranges dabei entstehen.
Bsp jede 2.Zeile ausgeblendet bei 20000 Zeilen.
Gruß Peter
Anzeige
Kurzvariante
11.08.2004 09:09:42
peh

Sub Kurzvariante()
on error resume next
ActiveSheet.AutoFilter.Range.Rows("2:" & ActiveSheet.AutoFilter.Range.Rows.Count).EntireRow.Delete
End Sub

AW: Kurzvariante - und Danke!
Boris
Hi Peter,
Was prinzipiell völlig unverständlich ist, da es nicht explicit angesprochen ist.
Was ist bei MS denn immer alles so verständlich? ;-))
Allerdings habe ich jetzt dadurch einiges über das Autofilterobjekt dazugelernt - und das ist gut so :-))
Danke für deine Erläuterung!
Grüße Boris

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige