Autofilter nur erstes Ergebniss anzeigen

Bild

Betrifft: Autofilter nur erstes Ergebniss anzeigen
von: Christian
Geschrieben am: 23.07.2015 14:55:03

Hallo,
ich brauche mal wieder Eure Hilfe.
Ich spreche mittels VBA einen Autofilter mit einem bestimmten Argument (nämlich "leere Zelle") an. Excel zeigt mir dann auch richtigerweise alle Zellen mit diesem Argument (in meinem Fall "leere Zellen") an.
Ich möchte jetzt, dass Excel nur die erste Zelle bzw. Zeile mit diesem Argument anzeigt.
Wie kann ich das erreichen?
Danke im Voraus & Gruß
Christian
PS: Mein aktueller Code:

Sub Neukunde()
    ActiveSheet.Range("$B$5:$AA$2500").AutoFilter Field:=5, Criteria1:="=", _
        Operator:=xlAnd
End Sub

Bild

Betrifft: AW: Autofilter nur erstes Ergebniss anzeigen
von: Rudi Maintaire
Geschrieben am: 23.07.2015 15:06:15
Hallo,
Hilfspalte
AB2:AB2500: =WENN(F2="";MAX(AB$1:AB1)+1;"")
und AB nach 1 filtern.
Gruß
Rudi

Bild

Betrifft: AW: Autofilter nur erstes Ergebniss anzeigen
von: Christian
Geschrieben am: 23.07.2015 15:14:48
Hallo Rudi,
danke für den Tipp. Mit Hilfsspalten arbeiten kann ich leider nicht, da speziell auf diesem Arbeitsplatz viele andere Exceldatein zugreifen und Werte abfragen, dass ich nicht mal soeben eine Spalte hinzufügen oder löschen könnte.
Gruß
Christian

Bild

Betrifft: AW: Autofilter nur erstes Ergebniss anzeigen
von: Christian
Geschrieben am: 23.07.2015 15:55:54
Hallo zusammen,
ich habe die Lösung selber gefunden!
Ich suche zunächst ohne Autofilter die erste leere Zeile und nutze dann den Autofilter um nur diese anzuzeigen.
Auch wenn der Code speziell für mein Arbeitsblatt ist, kann er vielleicht hier jemanden mit dem gleichen Problem weiterhelfen:

Sub Neukunde()
Range("F6").End(xlDown).Offset(1, -4).Select
    Selection.Copy
    Range("B4").Select
    ActiveSheet.Paste
           
End Sub
Anmerkung: B4 ist eine Zelle, welche wiederum auswirkungen auf einen Autofilter hat bzw. steuert... ;-)
Gruß
Christian

Bild

Betrifft: AW: Autofilter nur erstes Ergebniss anzeigen
von: Klexy
Geschrieben am: 24.07.2015 18:52:03
Da hab ich drei bis fünf Einwände:
1. Eine Tabelle sollte immer in A1 beginnen. Wenn aus Dekorationsgründen die erste Spalte und die ersten 4 Zeilen leer bleiben, wie das bei dir anscheinend der Fall ist, wird alles kompliziert und fehlerträchtig. Außerdem verschwendest du Bildschirmfläche, wenn du schon ab der 10. Tabellenzeile scrollen musst. Wenn du z.B. fürs Ausdrucken Rand brauchst, mach das mit der Seitenformatierung.
2. Was du als Lösung hast, funktioniert nur wenn in der ersten Spalte ein eindeutiger Eintrag ist.
3. Wenn in diese Tabelle keine Hilfsspalte eingetragen werden kann, weil viele andere Tabellen darauf zugreifen, warum kann dann in B4 was eingetragen werden? Und B4 ist auch nicht ohne, denn B4 ist in direktem Kontakt zur Tabelle und könnte bei Sortierfunktionen stören, weil die Spaltenköpfe nicht mehr ganz oben in der Tabelle sind.
4. So würde es bei einer "normalen" Tabelle (beginnend in A1) elegant funktionieren:

 Sub nur_erster_Filterdatensatz()
 Dim Spalte As Integer, Zelle As Range
    Spalte = 5
    
    ActiveSheet.Cells(1, Spalte).AutoFilter Field:=Spalte, Criteria1:="="
    
    Set Zelle = Columns(Spalte).Find(What:="", After:=Cells(1, Spalte), LookIn:=xlValues,  _
LookAt _
        :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False)
        
    Rows("2:" & ActiveSheet.UsedRange.Rows.Count & "").Hidden = True
    Zelle.EntireRow.Hidden = False
    Zelle.Select
 End Sub
Du kannst das Makro natürlich auch an deine verschobene Tabelle anpassen.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Autofilter nur erstes Ergebniss anzeigen"