1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

EXCEL: benutzerdefinierter Autofilter

Discussion in 'Office-Programme' started by tommy_cat, Jan 23, 2007.

Thread Status:
Not open for further replies.
  1. tommy_cat

    tommy_cat Byte

    Hallo zusammen,

    ich habe eine Tabelle mit Stammdaten vorliegen. Jetzt möchte ich gern in der Spalte mit dem Namen alle Namen filtern, die mit "H" oder "I" oder "J" oder "K" anfangen. Leider bietet der Autofilter nur 2 Felder zur Oder-Verknüpfung an. Ich habe schon über VBA probiert, den Autofilter zu erweitern (selection.autofilter..), geht aber leider nicht.

    Wer hat eine andere Idee?
    Danke im voraus
     
  2. brum

    brum Kbyte

    Bei aufeinanderfolgende Buchstaben kannst Du mit "ist grösser oder gleich" und "ist kleiner oder gleich" arbeiten...

    Gruss
    Bruno
     
  3. Beverly

    Beverly Halbes Megabyte

    Hi Tommy,

    hier ein Makro, welches auch bei nicht fortlaufenden Buchstaben funktioniert

    Code:
    Sub filtern()
        Dim loLetzte As Long
        Dim loZeile As Long
        loLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
        For loZeile = loLetzte To 1 Step -1
            If Left(Cells(loZeile, 1), 1) <> "H" And Left(Cells(loZeile, 1), 1) <> "I" _
                And Left(Cells(loZeile, 1), 1) <> "K" And Left(Cells(loZeile, 1), 1) <> "L" Then
                Cells(loZeile, 1).EntireRow.Hidden = True
            End If
        Next loZeile
    End Sub
    
    Namen stehen in Spalte A.
     
  4. Hascheff

    Hascheff Moderator

    Oder du erstellst eine Hilfsspalte. Hier ist die Hilfsspalte A, Namen in B, der Tabellenkopf steht in Zeile 2, die gesuchten Anfangsbuchstaben werden in Zelle A1 eingetragen. In A3 schreibst du
    =NICHT(ISTFEHLER(SUCHEN(LINKS(B3;1);A$1)>0))
    und füllst nach unten aus.
     
  5. tommy_cat

    tommy_cat Byte

    Ich danke Euch für die Vorschläge.

    Alle drei funktionieren!

    Hat jemand einen Buchtipp für mich, in dem ich mehr VBA lernen kann? Grundlagen + Weiterführung der VBA-Programmierung o.ä.

    Vielen Dank

    tommy_cat
     
Thread Status:
Not open for further replies.

Share This Page