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

VAB Autofilter mit ODER

VAB Autofilter mit ODER
Don
Hallo!
Über folgenden VBA Code sollte mein Bediener beim Tabellenaufruf seinen Namen eingeben können um zu sehen welche Verantwortlichkeiten (S-Spalte) oder Mitarbeiten (T-Spalte) er zu erledigen hat.
Leider gibt mir dieses Vorgehensweise nur die Zeilen aus wo S-Wert UND T-Wert gleich der Eingabe sind.
Gibt es eine Möglichkeit der Autofilter Option zu sagen "Gib mir die Zeilen wo die Eingabe in Spalte S ODER Spalte T steht"?
  • 
    Private Sub Worksheet_Activate()
    Dim Suchbegriff As String
    Suchbegriff = InputBox("Please enter name:", "AutoFilter")
    If Suchbegriff = "" Then
    Selection.AutoFilter Field:=19
    Selection.AutoFilter Field:=20
    Else
    Selection.AutoFilter Field:=19, Criteria1:="=*" & Suchbegriff & "*"
    Selection.AutoFilter Field:=20, Criteria1:="=*" & Suchbegriff & "*"
    End If
    End Sub
    


  • Schon mal vielen Dank im Voraus!
    Gruß, Don

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Benutzer
    Anzeige
    Nur mit Hilfsspale lösbar !
    26.10.2010 15:24:34
    NoNet
    Hallo Don,
    Du kannst zwar eine Spalte auf 2 Kriterien überprüfen, jedoch nicht 2 unterschiedliche Spalten auf das gleiche Kriterium mit ODER-Verknüpfung !
    Ich empfehle Dir eine Hilfslösung :
    - erstelle eine weitere Spalte (z.B. Spalte Z = Spalte 26) mit folgender Funktion (Hier für Z2) :
       =ODER(S2=$Z$1;T2=$Z$1)
    - Kopiere diese Funktion soweit wie benötigt nach unten
    - erweitere den Autofilterbereich bis Spalte Z
    - blende die Spalte Z aus
    Per VBA schreibst Du den eingegebenen Namen in Zelle Z1 und filterst dann nur nach Spalte Z auf WAHR (TRUE) :
    Private Sub Worksheet_Activate()
    Dim strSuchbegriff As String, rngBereich As Range
    Set rngBereich = Range("A1:Z100")
    strSuchbegriff = InputBox("Please enter name:", "AutoFilter")
    If strSuchbegriff = "" Then
    rngBereich.AutoFilter Field:=26
    Else
    [Z1] = strSuchbegriff
    rngBereich.AutoFilter Field:=26, Criteria1:=True
    End If
    End Sub
    
    Den Bereich "A1:Z100" musst Du natürlich noch anpassen !
    Gruß, NoNet
    Anzeige
    Kann eine "String enthält" Option umgesetzt werden
    26.10.2010 16:30:15
    Don
    Hallo NoNet,
    danke Dir (schon wieder) für Deine Hilfe. Genial und funktioniert. Dieses um die Excel-Ecke denken ist nicht so meines :-)
    Gibt es bei einer Lösung aber noch die Möglichkeit eine "String enthält" Option à la
    Criteria1:="=*" & strSuchbegriff & "*"
    

    einzubauen?
    Da VBA einen genauen Abgleich mit Z1 fährt, findet sich der "Meier, Herbert" nicht wenn er nur Meier eingibt.
    Ich habe schon versucht den Umweg über eine Variable in VBA zu fahren aber mein Können ist da nicht so sonderlich...
    Danke und Gruß, Don
    Anzeige
    =ODER(ISTZAHL(SUCHEN($Z$1;S2));...)
    26.10.2010 16:37:50
    NoNet
    Hallo Don,
    die Änderung muss nicht im VBA-Code erfolgen, sondern in der Tabellenblattfunktion der Hilfsspalte Z :
    Versuche es mal mit folgender Funktion in Z2 (und runterkopieren nicht vergessen ;-) :
    =ODER(ISTZAHL(SUCHEN($Z$1;B2));ISTZAHL(SUCHEN($Z$1;C2)))
    Gruß, NoNet
    AW: =ODER(ISTZAHL(SUCHEN($Z$1;S2));...)
    26.10.2010 17:00:54
    Don
    O_O Ich
    Vielen Dank für die superschnelle Hilfe. Das ist genau so wie ich es gebraucht habe. Echt klasse NoNet!

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige