Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Filterstring zusammensetzen

Filterstring zusammensetzen
02.02.2020 12:07:57
T.Kahnt
Hallo allerseits,
Eine Person ist in meiner Tabelle an drei Projekten beteiligt.
ein Tabellenfilter auf diese Person liefert in einer anderen Spalte drei verschiedene Projektnummern als Ergebnis.
Ich möchte jetzt, per VBA, die angezeigten Projektnummern als Filterstring (Array) auslesen und dieses Ergebnis dann als Filter setzen.
Als Ergebnis sollen dann die kompletten Projekte, an denen die vorher gefilterte Person beteiligt ist, angezeigt werden.
Das aufgezeichnete Makro zum Beispielfall sieht folgendermaßen aus:
Sub BeispielArray()
' FilterString aufgezeichnet
ActiveSheet.Range("$B$3:$F$250").AutoFilter Field:=2, Criteria1:=Array( _
"292060/01/1", "292060/02/3", "292060/02/5"), Operator:=xlFilterValues
End Sub

Ich schaffe es leider nicht, den String für das Array selbst (korrekt) zu erstellen und zu übergeben.
Hat jemand vielleicht eine Idee, oder sogar eine Lösung?
Ich habe eine Beispielmappe angehängt
https://www.herber.de/bbs/user/134922.xlsm
Dank an Euch im Vorwege und ein schönes Wochenende
Thomas

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filterstring zusammensetzen
02.02.2020 13:10:31
Nepumuk
Hallo Thomas,
teste mal:
Sub BeispielFilterHans()
    
    Dim objClipBoard As Object
    Dim strTemp As String
    
    With Tabelle2
        
        Call .Range("B3:F3").AutoFilter(Field:=5, Criteria1:="Hans")
        
        With .AutoFilter.Range
            
            Call Range(.Cells(2, 2), .Cells(.Rows.Count, 2)).Copy
            
        End With
        
        Set objClipBoard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
        
        Call objClipBoard.GetFromClipboard
        strTemp = objClipBoard.GetText
        
        strTemp = Left$(strTemp, Len(strTemp) - 2)
        
        Call .ShowAllData
        
        Call .Range("B3:F3").AutoFilter(Field:=2, Criteria1:=Split(strTemp, vbCrLf), _
            Operator:=xlFilterValues)
        
    End With
    
    Set objClipBoard = Nothing
    
End Sub

Gruß
Nepumuk
Anzeige
AW: Filterstring zusammensetzen
02.02.2020 13:31:20
fcs
Hallo Thomas,
in der Datei hab ich ein entsprechendes Makro ergänzt.
Das Makro zu "Filter löschen" hab ich modifiziert. Statt den Autofilter zu deaktivieren werden jetzt alle Daten angezeigt.
Du setzt jetzt den Filter für "Name" und startest das Makro "Projekte filtern".
https://www.herber.de/bbs/user/134928.xlsm
LG
Franz
Gelöst - Dank an Nepumuk, und fcs
02.02.2020 17:44:25
T.Kahnt
Die Lösung von fcs habe ich als erstes ausprobiert und sie löst mein Problem perfekt!
Dank an euch beide, ich lerne hier so viel dazu und finde den Umgang hier im Forum absolut klasse!
Beste Grüße
Thomas
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige