Excel vba Autofilter mit mehr Kriterien
#1
Hallo zusammen,

könnt Ihr mir bitte einen Tipp geben wie dieses Makro erweitert werden muss um einen Autofilter auf diese Mehrfachauswahl zu setzen?
Also an Stelle der Messagebox-Anzeige soll der Filter auch gesetzt werden.

Code:
Sub AutofilterTest()
 'Funktioniert nur wenn die Zellselektion 2 oder mehr Zellen beinhaltet.
 Dim FilterArray As Variant, rngCell As Range, intI As Integer
 
 Set rngCell = Selection
 If rngCell.Rows.Count = 1 Then
   'Selektion in einer Zeile
   FilterArray = Application.Transpose(rngCell)
 Else
   'Selektion in Spalte(n)
   FilterArray = rngCell
 End If

 'Testanzeige
 For intI = LBound(FilterArray) To UBound(FilterArray)
   MsgBox FilterArray(intI, 1)
 Next

End Sub

Vielen Dank!
Top
#2
Hallo,

anbei ein "gebastelet" Beispiel, gehe es im Einzelschrittmodus durch.

mfg


Angehängte Dateien
.xlsm   Autofilter Sharky.xlsm (Größe: 14,82 KB / Downloads: 7)
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • sharky51
Top
#3
Guten morgen Fennek,

danke für das Beispiel. Funktioniert!

Ich suche aber eine Möglichkeit, dass in einer Spalte die markierten Zellen als Filterkriterium herangezogen werden und auf diese Werte dann gefiltert wird.

Hast Du dazu noch eine mögliche Lösung?
Top
#4
Hallo Erich,

schau Dir mal diesen Thread an.
http://www.clever-excel-forum.de/thread-...#pid117241

Statt der Sicherung auf dem zweiten Blatt müsste man nur die markierten Einträge nehmen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • sharky51
Top
#5
Guten Morgen André,

vielen Dank für das Beispiel. Hab das mal ausprobiert - ist aber nicht das was ich eigentlich suche und benötige.
Im diesem Beispiel muss man im Autofilter-Dialog die Filterkriterien wie üblich explizit ankreuzen und den Filter dann über den Filter-Button setzen.

Ich suche aber die Möglichkeit in einer Spalte (oder mehreren Spalten) per Auswahl mit der Maus nur auf diese ausgewählten (markierten) Werte zu filtern und zwar ohne extra auf den Filter-Button in der Spalte zu klicken.

Vielleicht hast Du dazu noch ein praktikables Beispiel.

Vielen Dank und noch ein schönes WE!
Top
#6
Hallo Erich,
Sub AutofilterMitSelektiertenZellen()
Dim rngArea As Range, rngCell As Range, lngZ As Long, strAF() As String
ReDim strAF(0 To Selection.Count - 1)
For Each rngArea In Selection.Areas
For Each rngCell In rngArea.Cells
strAF(lngZ) = rngCell.Value
lngZ = lngZ + 1
Next rngCell
Next rngArea
ActiveSheet.Range("$A$1:$B$20").AutoFilter Field:=2, Criteria1:=strAF, Operator:=xlFilterValues
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • sharky51
Top
#7
Hallo Erich,

in dem Beispiel wird mit dem einen Button der zuvor eingestellte Autofilter auf einem Blatt gesichert. Dieses Makro brauchst Du nicht. Im zweiten Makro werden dann die Zellinhalte genommen und der Filter neu gesetzt. Setzte den Filter zuvor zurück, dass nix mehr angehakelt ist, und Du wirst sehen, es passt erst mal Smile Das man das dann auf die selektierten Zellen umprogrammieren müsste, hatte ich geschrieben. Aber vielleicht reicht Dir Uwe's Code Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • sharky51
Top
#8
Hallo Uwe,

das ist cool... vielen Dank genau das habe ich gesucht, danke!
Top


Gehe zu:


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