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

Autofilter

Autofilter
10.08.2004 13:42:05
Robson
Hallo Leute,
ich hoffe ihr könnt mir mal wieder helfen... Schon mal danke!
Erst mal mein Code:
If Cells(2, 86).Value "" Then
Range("V2").Select
Selection.AutoFilter
Selection.AutoFilter Field:=22, Criteria1:="=" & Cells(2, 86).Value
Range("A2").AutoFilter
End If
Beschreibung:
Erst prüfe ich, ob in Cells(2, 86) was steht, falls ja soll VBA einen Autofilter starten. Dieser Autofilter soll nach genau dieser Zahl (die in der Cells(2, 86)) in Spalte V suchen.
Problem:
Falls in der Zelle(2, 86) eine 0 steht, sucht er zwar nach der 0 und filtert sie, aber er filter auch noch z.B. -1 raus.
Was stimmt an meinem Code nicht?
Gruß Robson

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter
Beate
Hallo Robson,

Sub Filtermakro()
If Range("CI2").Value <> "" Then
v1 = Range("CI2").Value
Selection.AutoFilter Field:=22, Criteria1:=v1
End If
End Sub

Gruß,
Beate
AW: Autofilter
Robson
Hallo Beate, leider hat es immer noch nicht geholfen, hab meine -1 immer noch drin...
Hab es mit diesem Code probiert:
If Cells(2, 86).Value "" Then
v2 = Range("CH2").Value
Range("V2").Select
Selection.AutoFilter
Selection.AutoFilter Field:=22, Criteria1:=v2
Range("A2").AutoFilter
End If
Vielleicht kennst du noch eine Möglichkeit.
Danke
mfg Robson
Anzeige
AW: Autofilter
Beate
Hallo Robson,
bei mir gehts, wenn ich als 2. Kriterium vorschreibe: &gt=0 also den Teil so:
Selection.AutoFilter Field:=4, Criteria1:=v2, Operator:=xlAnd, _
Criteria2:="&gt=0"
Entsprechend kann aber nie nach einer negativen Zahl gesucht werden, falls sie in CH2 steht.
Bei mir mit Excel Office XP Pro läuft es schon sauber gem. meinem ersten Beitrag. Probier mal.
Gruß,
Beate
AW: Autofilter
10.08.2004 15:31:28
Robson
Hey Beate, ich habe es rausgefunden wieso es nicht klappt.
Er filtert zwar, aber ich deaktiviere auch gleich den Autofilter und somit sind alle Wert wieder da.
Jetzt meine Frage:
Gibt es einen Befehl mit dem ich alle Zeile, die er jetzt mit dem Wert v2 gefunden hat, auswählt und löscht? Aber es sollten keine Werte verloren gehen, die vielleicht zwischen zwei Zeilen sind aber nicht v2 entsprechen.
If Cells(2, 86).Value "" Then
v2 = Range("CH2").Value
Range("V2").Select
Selection.AutoFilter
Selection.AutoFilter Field:=22, Criteria1:="" & v2
Range("A2").AutoFilter
End If
Anzeige
sichtbare Zeilen löschen bei aktivem Filter
Beate
Hallo Robson,
irgendwie in der Art - läuft aber auf Schleifenbasis und Rückfrage bei jeder Zeile - kannst ja mal weitertesten und es in dein Makro einbauen. Wenn du eine gute Endlösung findest, hätte ich da auch Interesse:

Sub Sichtbare_Zeilen_löschen()
Dim r As Range
For Each r In ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).EntireRow
Selection.Delete
Next
End Sub

Gruß,
Beate
sichtbare Zeilen löschen bei aktivem Filter -(2)
Beate
Hallo Robson,
eine Verbesserung ist mir eingefallen. Definiere einen Namen für den Datenbereich in deiner Tabelle (gegebenenfalls dynamisch, falls sie wächst). Ich habe den Namen "Daten" definiert. Dann filterst du per Makro und setzt zum Löschen der gefilterten Daten diesen Code in dein Makro:
Application.Goto Reference:="Daten"
Selection.EntireRow.Delete
Wenn du dann den Filter wieder aufhebst, sind nur noch die vorher ausgeblendeten Zeilen da.
Gruß,
Beate
Anzeige
Und noch viel einfacher:
Boris
Hi Beate,
hatte das grad weiter oben in einem anderen Beitrag so beantwortet:

Gefiltert wird nach Spalte A (Werte ungleich 10)

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


Gelöscht werden damit nur die SICHTBAREN Zeilen.
Grüße Boris
@ Boris
Beate
Hallo Borris,
habe den Thread auch gerade gesichtet. Macht es keinen Tempounterschied, ob du praktisch so viele Zeilen löschst oder dich nur im eingeschränkten Namensbereich mit dem Löschen befasst? Habe es nicht mit der Stoppuhr gemessen - ist nur so ein Gedanke.
Und nochwas: Wir haben beide auf die Wochentags-/Monatstagsgeschichte weiter oben geantwortet. Wie hast du A1 formatiert - bei mir ergibt deine Formel in B1 Freitag statt Sonntag für August 2004? Oder stehe ich auf dem Schlauch?
Gruß,
Beate
Anzeige
AW: @ Beate
Boris
Hi Beate,
Macht es keinen Tempounterschied, ob du praktisch so viele Zeilen löschst oder dich nur im eingeschränkten Namensbereich mit dem Löschen befasst?
Das Rows("2:65536").Delete ist so schnell, dass es nicht messbar ist.
Und nochwas: Wir haben beide auf die Wochentags-/Monatstagsgeschichte weiter oben geantwortet. Wie hast du A1 formatiert - bei mir ergibt deine Formel in B1 Freitag statt Sonntag für August 2004? Oder stehe ich auf dem Schlauch?
In A1 steht als Text das Wort "August" - so hab ich die Frage verstanden.
Grüße Boris
@ Boris
Beate
Hallo Boris,
danke für die beiden Antworten. Alles klar.
Gruß,
Beate
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige