Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Tabelle über Suchfeld filtern
#1
Hallo zusammen,

ich habe ein Problem und komme aktuell nicht weiter. Vielleicht weiß ja jemand Rat:)

Und zwar habe ich eine Tabelle mit sehr vielen Einträgen (mehreren Hundert). Mein Ziel ist es, dass ich über eine separate Zelle die Tabelle nach einer Teilenummer filter.

Beispiel:
Ich möchte, dass in der blauen Tabelle die Teilenummer 12345678 gefiltert wird. Dafür trage ich diese Teilenummer in die Zelle B1 ein (gelb markiert) (ohne manuell über die Tabelleüberschrift die Filterfunktion zu nutzen). 
Ist dies möglich?

Vielen Dank!


Angehängte Dateien
.xlsx   Tabelle über Suchfeld filtern.xlsx (Größe: 9,96 KB / Downloads: 13)
Antworten Top
#2
Hi,

kommen die Teilenummern öfters vor oder sind das jeweils Unikate?
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Hallo

Das könnte man mit vba! Formatiere den Bereich in eine intelligente Tabelle, benenne die Tabelle in "Artikel" und füge diesen Code in das Codefenster des Tabellenblatt ein! (Rechtsklick auf Tabellenreiter dann Code Anzeigen dann einfügen) Sobald die Zelle geändert wird, wird Gefiltert! Wird alles aus der Zelle gelöscht, wird der Filter zurückgesetzt!

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

   If Target.Address = "$B$1" Then
   
       If Range("B1") = "" Then
       
       ActiveSheet.ListObjects("Artikel").Range.AutoFilter Field:=4
       
       Else
       
       ActiveSheet.ListObjects("Artikel").Range.AutoFilter Field:=4, Criteria1:=ActiveSheet.Range("B1")
       
       End If
   
   End If

End Sub
Eine Menge reden, aber nichts sagen können viele...
Antworten Top
#4
Hi,

ich gehe jetzt mal davon aus, dass Teilenummern mehrfach vorhanden sein können. Dann würde ich, wenn, aus welchem Grund auch immer, die eingebauten Filtermöglichkeiten nicht genutzt werden (dürfen), diese Lösung (Makros dürfen nicht überall eingesetzt werden und zum Anpassen müssten ein paar Kenntnisse vorhanden sein) bevorzugen:

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDEFGHIJKLMNO
1Nach Teilenummer suchen:12345679
2
3BezeichnungLieferantLieferantennummerTeilenummerMengePreisHSBezeichnungLieferantLieferantennummerTeilenummerMengePreis
4Bauteil 1Lieferant A14412345678755135,34Bauteil 2Lieferant A144123456793533313,6
5Bauteil 2Lieferant A144123456793533313,65Bauteil 2Lieferant A144123456793533313,6
6Bauteil ABCLieferant B1559876543254661,98
7Bauteil 2Lieferant A144123456793533313,67

ZelleFormel
H4=WENN(D4=$B$1;ZEILE();"")
J4=WENNFEHLER(INDEX(A:A;KKLEINSTE($H$4:$H$10;ZEILE(A1)));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Die Hilfsspalte kann irgendwo eingesetzt und bei Bedarf ausgeblendet werden.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#5
Hallo,

mit dem Spezialfilter --> Unter Daten --> Filter --> Erweitert --> Liste an gleicher Stelle filtern

Achtung der KriterienBereich braucht die gleiche SpaltenÜberschrift -> Teilenummer


Angehängte Dateien
.xlsx   Tabelle über Suchfeld filtern.xlsx (Größe: 9,52 KB / Downloads: 16)
Antworten Top
#6
Hallo,

vielen Dank für die Antworten. Die Lösung mit dem VBA Code funktioniert gut! Nur ein "Problem". Und zwar muss der eingegebene Name GENAU der Teilenummer entsprechen. Geht das aber auch, dass die gefilterte Teilenummer die in B1 eingegebenen Zahlen BEINHALTET? Also ich gebe zum Beispiel 123 ein und er filtert mich auch 12345678 raus?

Danke!
Antworten Top
#7
Hallo,

die manuelle Eingabe birgt immer die Gefahr, dass man sich verschreibt und dadurch vielleicht kein oder ein falsches Ergebnis bekommt. Kannst DU nicht mit dem Autofilter arbeiten?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
nein das geht nicht, da die meines Wissens die Eingabe in die aktive Zelle nicht beim eingeben überwacht werden kann via VBA (ich lasse  mich  gern eines besseren belehren)
Eine Menge reden, aber nichts sagen können viele...
Antworten Top
#9
Hi

Für alle die mit 123xxx beginnen sollte der Code funktionieren. Wenn 123 in der Nummer irgendwo stehen soll xxx123xx dann entferne in der Zeile „If InStr(1, ArrWerte(n, 1), k, 1) = 1 Then“     das  = 1.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i, k As String
Dim ArrWerte As Variant
Dim n As Long
If Target.Address = "$B$1" Then
  With ListObjects("Tabelle1")
    k = Range("B1").Text
    ArrWerte = .ListColumns(4).DataBodyRange
    For n = 1 To UBound(ArrWerte, 1)
      If InStr(1, ArrWerte(n, 1), k, 1) = 1 Then i = i & " " & ArrWerte(n, 1)
    Next n
    If i <> "" Then
      ArrWerte = Split(Mid(i, 2))
      ListObjects("Tabelle1").Range.AutoFilter Field:=4, Criteria1:=ArrWerte, Operator:=xlFilterValues
    End If
End With
End If
End Sub

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • ExcelNeuling99
Antworten Top
#10
Genial! Vielen Dank!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste