Nach gesuchten Zeilen filtern
#1
Hallo! 
Ich habe ein Problem: Ich möchte meine Tabelle nach einer Zahl/einem Begriff der in eine TextBox in einer Userform eingegeben wird durchsuchen. Das habe ich auch schon gebastelt. 
Jetzt würde ich aber gerne, dass meine Tabelle nach den Zeilen gefiltert werden, welche den Begriff/die Zahl enthalten. 
Die Fragezeichen im Code stehen also für die Stelle, an der das Filtern passieren soll. 
Vielleicht könnt ihr mir helfen? 
Ich bedanke mich schon mal im Voraus!!

Private Sub CommandButton1_Click()
Dim rng As Range

'Tabelle nach wert durchsuchen
Set rng = Sheets("Tabelle2").Range("A:Z").Find(What:=TextBox1.Text, Lookat:=xlPart, LookIn:=xlValues)
'Wenn Wert entdeckt
If Not rng Is Nothing Then
    ???
    Exit Sub
Else
    MsgBox "Keine Übereinstimmung"
    Unload Me
End If

End Sub
Top
#2
Hi,

zeichne das Filtern doch einfach mit dem Makrorecorder auf: So gelangst Du an die notwendigen Befehle und Infos zum Filterkriterium / Filterspalte usw.

Anschliessend passt Du das Makro an das Filterkriterium aus Deiner TextBox an ...
Überlegen macht überlegen
Gruss aus dem schönen Hunsrück
_______ Klaus-Martin _______
Top
#3
Habe ich schon versucht. 

ActiveSheet.Range("$A$1:$AD$1000").AutoFilter Field:=5, _

    Criteria1:=ActiveSheet.TextBox1.Value

So weit bin ich. 

In der Tabelle stehen u.a. Namen (Vor- und Nachname in einer Zelle), Orte, und Nummern. 
Ich würde gerne in die Textbox z.B. nur den Vornamen eingeben um die gewünschten Zeilen zu erhalten. 
Ich glaube aber, dass Excel dann nicht weiß, wonach es filtern soll, da als Filtermöglichkeit ja nur der gesamte Name hinterlegt ist. 
Außerdem muss ich das Field:=5 ersetzen. Ich will ja, dass die gesamte Tabelle gefiltert wird, je nach dem was ich in das "Suchen"-Feld eingebe.
Top
#4
Hallo,

das ist doch ein klassischer Fall für den Spezialfilter (unter Daten - Sortieren und Filtern - Erweitert).
Füge in deine Mappe ein neues Worksheet ein und benenne es Spezialfilterkriterien. Das kannst Du dann auch ausblenden.
Der Code für den Button sieht dann so aus:
Private Sub CommandButton1_Click()
 Dim i As Long
 Dim rngTab As Range
 Dim varSpF As Variant
 Dim wsSpF As Worksheet
 ActiveCell.Activate
 Set rngTab = Range("A1").CurrentRegion
 ReDim varSpF(1 To rngTab.Columns.Count, 1 To rngTab.Columns.Count)
 Set wsSpF = Worksheets("Spezialfilterkriterien")
 wsSpF.Cells.Delete
 rngTab.Rows(1).Copy wsSpF.Cells(1, 1)
 For i = 1 To UBound(varSpF)
   varSpF(i, i) = TextBox1
 Next i
 wsSpF.Cells(2, 1).Resize(UBound(varSpF), UBound(varSpF)).Value = varSpF
 rngTab.AdvancedFilter Action:=xlFilterInPlace, _
         CriteriaRange:=wsSpF.Cells(1, 1).CurrentRegion, Unique:=False
End Sub
Gruß Uwe
Top
#5
Hallo Uwe, ich habe das versucht nachzubauen (, weil ich immer noch auf der Suche nach einer Universallösung bin), aber ich bin zu blöde... Ich habe das Beispiel aus dem link in eine Datei "verfrachtet" eine Tabelle so benannt, wie du es geschrieben hast, eine Schaltfläche eingefügt... ... dieser dem Code zugeordnet. Schaltfläche gedrückt... Tadaaaaa. War das Tabellenblatt Spezialfilterkriterien leer und es passierte sonst nix... omg ;-(
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#6
Hallo Jörg,
hast Du auch eine Textbox in das Blatt mit dem Button eingefügt und dann auch in diese den Suchtext eingegeben?

Gruß Uwe
Top
#7
(15.07.2016, 13:36)Kuwer schrieb: Hallo Jörg,
hast Du auch eine Textbox in das Blatt mit dem Button eingefügt und dann auch in diese den Suchtext eingegeben?

Gruß Uwe

Hi Uwe, nee, ich hatte ehrlich gesagt nur deinen Beitrag gelesen... Vielleicht können wir mein Anliegen mal in Kornwestheim besprechen... ... es eilt ja auch nicht...
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#8
Hallo Jörg,

so schwer ist das nicht:


.xlsm   SpezialfilterMitOder-Kriterien.xlsm (Größe: 25,18 KB / Downloads: 14)

Gruß Uwe
Top
#9
(15.07.2016, 15:05)Kuwer schrieb: Hallo Jörg,

so schwer ist das nicht:

...

Gruß Uwe

Hallo Uwe, das schreibst du... ... und es sieht auch anders aus, als ich es dachte und hoffte. Aber alles ist gut... (^_-)
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top


Gehe zu:


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