Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1704to1708
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
Inhaltsverzeichnis

If Funktione bei Filterergebnis HILFE

If Funktione bei Filterergebnis HILFE
01.08.2019 13:57:59
Carlos
Hallo zusammen,
leider komme ich bei einem Problem nicht weiter.
Ich habe eine Datei die gefiltert wird nach 2 verschiedenen Kriterien in 2 verschiedenen Spalten.
Jetzt möchte ich mittels VBA, dass, wenn das Filterergebnis Werte findet (außer der Überschrift), sollen die angezeigten Zeilen gelöscht werden.
WENN
das Filterergebnis aber leer ist, soll er den Skript an einem anderen Punkt weiterführen, und zwar direkt nach Befehlt für das Löschen der leeren Zeilen.
Ich habe hier schon mal angefangen:
ActiveSheet.Range("a1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$AH$654").AutoFilter Field:=5, Criteria1:="Sebastian Knopf"
ActiveSheet.Range("$A$1:$AH$654").AutoFilter Field:=25, Criteria1:="ok*"
If ActiveSheet.Range("$A$1:$AH$654").SpecialCells(xlCellTypeVisible).Cells.Count = 1 Then
GoTo weiter
Else
ActiveSheet.Range("$A$1:$AH$654").SpecialCells(xlCellTypeVisible).Cells.Delete
With ActiveSheet.AutoFilter.Range.Offset(1)
.Resize(ActiveSheet.AutoFilter.Range.Rows.Count).EntireRow.Delete
End With
End If
weiter:
Selection.AutoFilter
Ich möchte halt nur dass er prüft: Filter leer, Zeilen nicht löschen, Filter nicht leer, Zeilen löschen
Ich komme hier einfach nicht weiter, ich hoffe ihr könnt mir helfen.
VG
Carlos

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If Funktione bei Filterergebnis HILFE
01.08.2019 14:13:59
Daniel
Hi
dein Ansatz ist schon richtig.
wenn du aber im gesamten Zellbereich die sichtbaren Zellen zählst, dann zählst du ja auch ALLE Zellen der Überschrift.
Nimm nur die Spalte A, dann passt das mit der 1, oder du müsstst als Vergleichswert die Anzahl Spalten des Zellbereichs verwenden. ersters ist einfacher:
If ActiveSheet.Range("A1:A654").SpecialCells(xlCellTypeVisible).Cells.Count = 1 Then
gruß Daniel
AW: If Funktione bei Filterergebnis HILFE
01.08.2019 14:28:48
Carlos
Ich habe es mal geändert wie du geschrieben hast Daniel.
leider möchte er auch weiterhin nur eins machen, entweder die Zeilen löschen oder er springt direkt zur Sprungmarke, egal was das Filterergebnis war.
Anzeige
AW: If Funktione bei Filterergebnis HILFE
01.08.2019 14:46:11
Daniel
ist jetzt schwer was zu zu sagen, ohne die Datei zu kennen.
es ist auch nicht sinnvoll, wenn man in dem Makro eine wilde Mischung aus automatisch erzeugten Zellbereichen und fest vorgebenen Zellbereichen verwendet.
Da sollte man sich auf eines festlegen.
nächste Fehler: wenn man mit IF arbeitet, braucht man in den meisten Fällen KEINE Sprungmarken.
Ist es Absicht, dass du dir die Sprungmarke mit löschst?
ich würde das so programmmieren.
beim Löschen in gefilterten Listen brauchst du dann das .SpecialCells normalerweise mit , weil auch in VBA die über den Autofilter ausgeblendeten Zeilen von der Bearbeitung automatisch ausgenommen sind:
Sub test()
With ActiveSheet.Range("a1").CurrentRegion
.AutoFilter Field:=5, Criteria1:="Sebastian Knopf"
.AutoFilter Field:=25, Criteria1:="ok*"
If .Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
.Offset(1, 0).Resize(.Rows.Count, 1).Delete shift:=xlUp
End If
.AutoFilter
End With
End Sub
Gruß Daniel
Anzeige
AW: If Funktione bei Filterergebnis HILFE
01.08.2019 15:43:28
Carlos
Erstmal Dank für den Code.
Wenn ich diesen in eine neue Datei kopiere funktioniert er einwandfrei. Füge ich ihn aber in meinen bestehenden Code ein bekomme ich eine Fehlermeldung ( "Objektvariable oder With-Blockvariable nicht festgelegt")
Hast du eine Idee woran das liegt ?
Der Code steht recht am Anfang vom Skript, ich blende da nur ein paar Spalten aus, sonst nichts, daher verstehe ich nicht warum es nicht klappt.
AW: If Funktione bei Filterergebnis HILFE
01.08.2019 15:51:26
Daniel
ich gehe halt davon aus, dass die Tabelle in Zelle A1 beginnt.
Umformatierungen wie Ausblendungen solltest du erst am Schluss machen, wenn alle weiteren Bearbeitungsschritte abgeschlossen sind.
Gruß Daniel
Anzeige
AW: If Funktione bei Filterergebnis HILFE
01.08.2019 16:13:34
Carlos
Du hast Recht, jetzt klappt es.
Danke Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige