Microsoft Excel

Herbers Excel/VBA-Archiv

Filter setzen mit mehreren Zellen


Betrifft: Filter setzen mit mehreren Zellen von: andre
Geschrieben am: 20.04.2017 15:14:10

Hi Leute,

ich beschäftige mich nun seit 1-2 Wochen mit VBA und das Forum hat mir schon sehr viel geholfen, viele nützliche Dinge gefunden. Jetzt habe ich jedoch eine herausforderung, die ich über die Suchfunktion nicht finden konnte (oder google) und zwar ich möchte:

Eine Spalte mit immer sich änderten Werten (kann von 1 zelle bis zu über 200 sein) in einen Filter eintragen von einer liste mit über 6000 werten. Bsp: Spalte

a1
b1
c1
d1
e1
... (diese Werte sollen nun in meiner "grossen" Tabelle in einer Spalte gefiltert werden, quasi als Filterkriterium) diese Werte und die anzahl ändern sich aber immer wieder...

Ich habe es mit einer schleife probiert und einer variable die zelle für zelle abklappert, aber dann filtert er mir a1, dann b1, dann c1, dann d1 usw... aber nie a1 und b1 und c1 und d1 und e1... es wird quasi nur 1 wert immer angezeigt bis zum letzten.

Kann mir wer das coden? vielen herzlichen dank

  

Betrifft: AW: Filter setzen mit mehreren Zellen von: UweD
Geschrieben am: 20.04.2017 16:22:46

Hallo


ich kann dein Makro nicht sehen. deshalb mal ein allgemeines Beispiel...

    ActiveSheet.Range("$A$1:$T$445").AutoFilter Field:=1, _
        Criteria1:=Array("a1", "b1", "c1", "d1", "e1"), Operator:=xlFilterValues


LG UweD


  

Betrifft: AW: Filter setzen mit mehreren Zellen von: andre
Geschrieben am: 20.04.2017 18:10:44

Hallo Uwe,

Vielen Dank dass du dich der Sache annimmst :)
für diesen Vorgang habe ich noch keines, das was ich getestet habe, habe ich gelöscht da es nicht funktionierte.
Nun, bei deiner Idee sortiert es meine grosse tabelle immer mit a1 b1 usw.. aber es ändern sich anzahl und auch die zellen komplett (neue filterkriterien) in zB. aa1, bb1, cc1, dd1 usw... D.h. ich müsste eine Liste quasi als variable anlegen und diese variable in den Filter setzten, was ich nich hin bekomme.


  

Betrifft: AW: Filter setzen mit mehreren Zellen von: andre
Geschrieben am: 20.04.2017 19:13:25

Ich habe mal eine Tabelle angehängt. Also in Tabelle1 Spalte A, stehen die kriterien die in Tabelle2 in Spalte A gefiltert werden sollen.

Ändern sich nun die Werte in Tabelle1 Spalte A, soll nach "knopfdruck" auch der Filter in Tabelle2 in SpalteA angepasst werden.

Hoffe nun versteht man es :)

https://www.herber.de/bbs/user/113017.xlsm


  

Betrifft: AW: Filter setzen mit mehreren Zellen von: UweD
Geschrieben am: 21.04.2017 08:47:51

Hallo


dann so...


Sub Filtern()
    Dim LR As Integer, Arr
    Dim TB2, Sp As Integer, EZ As Integer
    Set TB2 = Sheets("Tabelle2")
    Sp = 1 ' Spalte A 
    EZ = 1 ' ab Zeile1 
    With Sheets("Tabelle1")
        LR = .Cells(.Rows.Count, Sp).End(xlUp).Row 'letzte Zeile der Spalte 
        Arr = WorksheetFunction.Transpose(.Range(.Cells(EZ, Sp), .Cells(LR, Sp)))
    End With
    If TB2.AutoFilterMode Then TB2.AutoFilterMode = False ' Autofilter ausschalten 
    TB2.Range("$A:$G").AutoFilter Field:=1, _
        Criteria1:=Array(Arr), Operator:=xlFilterValues
End Sub

LG UweD


  

Betrifft: AW: Filter setzen mit mehreren Zellen von: andre
Geschrieben am: 21.04.2017 20:18:10

wow hat funktioniert ;D Vielen herzlichen Dank!!


  

Betrifft: AW: gern geschehen owt von: UweD
Geschrieben am: 22.04.2017 16:44:52




Beiträge aus den Excel-Beispielen zum Thema "Filter setzen mit mehreren Zellen"