Filter mit mehr als 2 "entspricht nicht" Kriterien

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
ListBox
Bild

Betrifft: Filter mit mehr als 2 "entspricht nicht" Kriterien
von: Christian Jäger
Geschrieben am: 25.06.2015 09:47:54

Hallo Zusammen,
ich habe folgende Problem in VBA:
In einer Spalte befinden sich Namen von Mitarbeitern meiner Abteilung.
Nun kann es aber sein, dass auch Namen von Mitarbeitern einer anderen Abteilung in der Spalte auftauchen. Diese Namen sind immer wieder andere.
Nun möchte ich die Möglichkeit haben nur nach den Namen der Mitarbeiter der anderen Abteilung zu filtern. Ich habe versucht dies über "entspricht nicht" zu lösen, indem ich die Namen der Mitarbeiter meiner Abteilung eingeben habe. Leider ist die Möglichkeit auf zwei Namen begrenzt.
Wie kann ich nun die Spalte so filtern, dass alle Namen bis auf die Namen meiner Abteilung (10 Namen)angezeigt werden?
Danke für Eure Hilfe!
Christian

Bild

Betrifft: AW: Filter mit mehr als 2 "entspricht nicht" Kriterien
von: Matthias L
Geschrieben am: 25.06.2015 09:50:24
Hallo
Benutze eine 2 Spalte mit den Abteilungen
Dannach filterst Du dann.
Gruß Matthias

Bild

Betrifft: AW: Filter mit mehr als 2 "entspricht nicht" Kriterien
von: Christian Jäger
Geschrieben am: 25.06.2015 10:15:27
Hallo Matthias,
erstmal Danke für Deine Hilfe. Leider ist es nicht so einfach zu lösen, wie Du vorschlägst (eine Spalte mit der Abteilung steht mir nicht zur Verfügung). Ich werde daher etwas weiter ausholen müssen.
Ich bekomme eine Auflistung von ca. 10.000 Projekten mit weiterführenden Informationen zu den Projekten (z.B. den Namen des Betreuers, Kosten, Termine usw.) die mit einer Projektnummer eindeutig sind. Für eine Auswertung lese ich nun aus dieser alle Projekte die meine Abteilung betreut ein. Dies geschieht über die eindeutige Projektnummer. Dabei kann es vorkommen, dass Projekte die in meiner Abteilung betreut werden in der Auflistung einen Betreuer aus einer anderen Abteilung haben. Diese lese ich über die Projektnummer mit ein, möchte sie mir aber filtern und anzeigen lassen.
Der Filter sollte derart sein:
Zeige alle Projekte die nicht von Meier, Müller, Schulze, Heinrich betreut werden.
Die gefilterten Werte verwende ich für die Anzeige in einer ListBox mit der ich dann weiterarbeite.


Bild

Betrifft: AW: Filter mit mehr als 2 "entspricht nicht" Kriterien
von: Daniel
Geschrieben am: 25.06.2015 10:26:19
Hi
ohne Hilfsspalte wird das nicht gehen.
1. schreibe in eine eigene Tabelle die Namen der Betreuer, die aus der Liste ausgeblendet werden sollen, in eine Spalte untereinander (bspw in Tabelle2, Spalte A)
2. ergänze deine Projektliste um eine Hifsspalte mit der Formel:
=ZählenWenn(Tabelle2!A:A;B2)
(Zeile 1 ist überschrift, Betreuername steht in Spalte B)
und ziehe diese Formel bis ans Datenende.
wenn jetzt ein Betreuername in der Auflistung von Tabelle2 vorkommt, ist das Ergebnis 1, ansonsten 0.
3. Filtere jetzt die Projektliste in der Hilfsspalte nach "ist gleich 0"
ist jetzt zwar erstmal etwas umständlich wegen der beiden Hifsspalten, aber wenn jetzt neue Betreuer aus anderen Abteilungen hinzukommen oder wegfallen, ergänzt du einfach die Liste in Tabelle2 und filterst neu.
Auch ist der der Autofilter jetzt ganz einfach einzurichten, weil du nur nach 0 filtern musst.
Gruß Daniel

Bild

Betrifft: Dann mit VBA
von: Matthias L
Geschrieben am: 25.06.2015 10:32:31
Hallo
Dann schreib die Namen in ein Array

 BCD
1NameProjektBetreuer
2Maier1Name1
3Schulze2Name2
4Lehmann3Name3
5Schmidt4Name4


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Option Explicit
Sub Filter()
Range("B1:B5").AutoFilter Field:=1, Criteria1:=Array("Maier", "Lehmann"), Operator:= _
xlFilterValues
End Sub
Gruß Matthias

Bild

Betrifft: Betreuer aus einer anderen Abteilung filtern ...
von: Matthias L
Geschrieben am: 26.06.2015 06:45:59
Hallo
Habe nochmal ein konkretes Bsp. erstellt
https://www.herber.de/bbs/user/98487.xlsm
Gruß Matthias

Bild

Betrifft: AW: Filter mit mehr als 2 "entspricht nicht" Kriterien
von: JoWE
Geschrieben am: 25.06.2015 12:48:27
Hallo Christian,
schon mal so probiert? Siehe Grafik:
Userbild
Gruß
Jochen

Bild

Betrifft: AW: Filter mit mehr als 2 "entspricht nicht" Kriterien
von: Christian Jäger
Geschrieben am: 26.06.2015 08:00:16
Hallo Liebe Mitstreiter,
erstmal recht herzlichen Dank für die vielen Anregungen welche auch zur Lösung beigetragen haben.
Die Idee direkt zu filtern habe ich zwar nicht erreicht aber ich löse es mit einem Zwischenschritt, indem ich alle Namen kopiere, Duplikate lösche und zeilenweise die Namen prüfe. Alle Namen die zu meiner Abteilung gehören lösche ich raus, so dass nur die Namen aus den anderen Abteilungen übrig beleiben.
Nach diesen Namen filter ich dann in meiner ursprünglichen Tabelle. Nicht elegant aber es funktioniert.
Für Abschreiber ;-) hier meine Lösung


    Sheets("Projektdaten").Range("F5:F500").Copy Destination:=Sheets("Temp3").Range("A1")
    Sheets("Temp3").Range("A1:A500").RemoveDuplicates Columns:=1, Header:=xlNo
    
    If Sheets("Projektdaten").AutoFilterMode Then
        If Sheets("Projektdaten").FilterMode Then Sheets("Projektdaten").ShowAllData
    End If
    
    For y = 1 To Sheets("Temp3").[A50].End(xlUp).Row + 1
        If Sheets("Temp3").Cells(y, 1).Value = "Name1/" _
        Or Sheets("Temp3").Cells(y, 1).Value = "Name2/" _
        Or Sheets("Temp3").Cells(y, 1).Value = "Name3/" _
        Or Sheets("Temp3").Cells(y, 1).Value = "Name4/" _
        Or Sheets("Temp3").Cells(y, 1).Value = "Name5/" _
        Or Sheets("Temp3").Cells(y, 1).Value = "Name6/" _
        Or Sheets("Temp3").Cells(y, 1).Value = "Name7/" Then
        Sheets("temp3").Cells(y, 1).Value = ""
        Rows(y).Delete shift:=xlUp
        y = y - 1
        End If
    Next y
    ReDim PL_Sonstige(1 To Sheets("Temp3").[A50].End(xlUp).Row)
    For y = 1 To Sheets("Temp3").[A50].End(xlUp).Row
        PL_Sonstige(y) = Sheets("Temp3").Cells(y, 1).Value
    Next y
    Application.DisplayAlerts = False
    Sheets("Temp3").Delete
    Application.DisplayAlerts = True
    
    Sheets("Projektdaten").Range("A4:F4").AutoFilter Field:=6, Criteria1:=PL_Sonstige,
Operator:=xlFilterValues


Bild

Betrifft: AW: Filter mit mehr als 2 "entspricht nicht" Kriterien
von: Matthias L
Geschrieben am: 26.06.2015 23:46:08
Hallo Christian
Zitat
Die Idee direkt zu filtern habe ich zwar nicht erreicht
Hat denn mein 2.Bsp. nicht funktioniert?
Gruß Matthias

Bild

Betrifft: AW: Filter mit mehr als 2 "entspricht nicht" Kriterien
von: Christian Jäger
Geschrieben am: 29.06.2015 09:13:03
Hallo Matthias,
ich hatte Dein Beispiel völlig übersehen und mit Deinem Beitrag vom 25.06.2015 10:32:31 konnte ich auf die Schnelle nicht recht was anfangen:-) Deine Lösung vom 26.06.2015 06:45:59 gefällt mir gut und ich werde versuchen sie bei Zeiten noch zu integrieren.
Viele Grüße
Christian

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Filter mit mehr als 2 "entspricht nicht" Kriterien"