Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBA: nach ausgewählten Kriterien filtern

Frage Microsoft Microsoft Office

Mitglied: BerndVorwerk

BerndVorwerk (Level 1) - Jetzt verbinden

13.08.2014 um 09:52 Uhr, 1330 Aufrufe, 7 Kommentare

Hallo an alle.
Auch auf die Gefahr hin, dass ich euch so langsam auf die Nerven gehe, aber ich bräuchte wieder einmal Hilfe.
In einem Tabellenblatt "Übersicht" wähle ich Kriterien aus, indem ich sie in Spalte B mit einem "X" (ausgewählt) oder einem "-" (nicht ausgewählt) markiere.
Nach den Kriterien, die mit einem "X" gekennzeichnet sind (bis zu 15 möglich) möchte ich dann im Tabellenblatt "Auswertung" die Spalte F filtern.
In dem angehängten Beispiel also nach Dicke, Länge, Oberfläche und Kante. Breite und Radius sollen also "weggefiltert" werden.
Blatt Übersicht:
AB
1DickeX
2LängeX
3Breite-
4OberflächeX
5Radius-
6KanteX
7...-

Blatt Auswertung:
...EF
1...2Dicke
2...3Dicke
3...1Länge
4...2Breite
5...3Breite
6...1Oberfläche
7...2Oberfläche
8...4Radiu
9...5Kante
10...6Kante

Bei Änderung der Auswahl auf "Übersicht" und Ausführung des Makros soll die Filterung dann auch wieder angepasst werden.
Gibt es für so etwas eine Lösung?
Noch einmal vielen Dank!
Gruß,
Bernd
Mitglied: colinardo
13.08.2014, aktualisiert um 10:49 Uhr
Moin Bernd,
mal wieder da
Beispiel für den Fall das nur Werte aus der Liste in der Übersicht im Sheet Auswertung stehen: FilterRange_246351.xlsm

Grüße Uwe
Bitte warten ..
Mitglied: BerndVorwerk
13.08.2014 um 13:26 Uhr
Funtioniert das auch, wenn in der Auswahlliste in der Übersicht mehr Werte vorhanden sind als in der Auswertungsliste? Dann sollen natürlich nur die berücksichtigt werden, die auch vorhanden sind.
Bitte warten ..
Mitglied: colinardo
13.08.2014, aktualisiert um 13:29 Uhr
Zitat von BerndVorwerk:
Funtioniert das auch, wenn in der Auswahlliste in der Übersicht mehr Werte vorhanden sind als in der Auswertungsliste? Dann sollen natürlich nur die berücksichtigt werden, die auch vorhanden sind.
ja soweit ich dich richtig interpretiere.
Bitte warten ..
Mitglied: BerndVorwerk
13.08.2014 um 14:02 Uhr
Ja, geht super.
Jetzt hoffentlich nur eine Kleinigkeit.
Kann ich das auch ohne worksheet_change machen. Also einfach mit Sub_name().
Das Makro müsste jetzt doch über ein bereits vorhandenes worksheet_calculate() aufgerufen werden.
Noch mal danke!
Gruß,
Bernd
Bitte warten ..
Mitglied: colinardo
13.08.2014, aktualisiert um 14:04 Uhr
Zitat von BerndVorwerk:
Kann ich das auch ohne worksheet_change machen. Also einfach mit Sub_name().
Sicher, kein Problem
01.
Sub Test() 
02.
    Dim wsAuswertung As Worksheet, wsUebersicht As Worksheet, cell As Range, arrFilter() As String 
03.
     
04.
    Set wsUebersicht = Worksheets("Übersicht") 
05.
    Set wsAuswertung = Worksheets("Auswertung") 
06.
    cnt = 0 
07.
    For Each cell In wsUebersicht.Range("B1:B15") 
08.
         If cell.Value <> "X" Then 
09.
            ReDim Preserve arrFilter(cnt) 
10.
            arrFilter(cnt) = cell.Offset(0, -1).Value 
11.
            cnt = cnt + 1 
12.
         End If 
13.
     Next 
14.
     wsAuswertung.Range("E:F").AutoFilter Field:=2, Criteria1:=arrFilter, Operator:=xlFilterValues 
15.
End Sub
Bitte warten ..
Mitglied: BerndVorwerk
13.08.2014 um 15:30 Uhr
Hallo Uwe,
das funktioniert super. Danke schonmal. Leider fällt mir jetzt während der Anwendung auf, dass ich das Problem unterschätzt und bestimmte Faktoren vergessen habe.
Und zwar:
Die gleiche Auswahl im Blatt "Übersicht" gibt es 2mal. Zum einen die, mit der du/ich gerade arbeite (Spalte A für Text und Spalte B für X oder -). Das gleiche gibt es auch noch mal in den Spalten D und E (gleicher Text, aber evtl. Auswahl anderer Kriterien). Es müssen also nicht zwingend auf beiden Seiten die gleichen Sachen ausgewählt sein.
Jetzt ergeben sich für mich plötzlich zwei unterschiedliche Aufgaben:

Ein Makro, ähnlich wie das bereits vorgestellte. Es soll jetzt aber nur "weggefiltert" werden, wenn das entsprechende Kriterium weder auf der linken noch auf der rechten Seite ausgewählt wurde.
Zur Erklärung:
Im Blatt "Auswertung" habe ich die Auswertungen für die rechte und linke Seite nebeneinander platziert. D.h. wenn ich filtern würde, obwohl nur eine Seite nicht markiert ist, würde ich die andere Seite direkt mit wegfiltern obwohl sie gebraucht wird. Daher soll nur weggefiltert werden, wenn sowohl in Spalte B als auch in Spalte E ein "-" steht.

Zusätzlich bräuchte ich noch ein weiteres Makro um einen Datensatz in einem weiteren Tabellenblatt "Grafiken" zu filtern.
Auch zur Erklärung:
Hier habe ich die grafischen Auswertungen. Aber alles untereinander, also erst alle Grafiken für die linke Seite untereinander, danach folgend alle der rechten Seite.
Hier soll jetzt wirklich einzelnd gefiltert werden.

Ich hoffe das war einigermaßen verständlich... Gäbe es hier sonst die Möglichkeit Beispieldateien zu posten?
Danke und Gruß,
Bernd
Bitte warten ..
Mitglied: colinardo
13.08.2014, aktualisiert um 16:09 Uhr
Zitat von BerndVorwerk:
Ich hoffe das war einigermaßen verständlich... Gäbe es hier sonst die Möglichkeit Beispieldateien zu posten?
schick mir dein Sheet am besten via Mail, ich schicke dir meine Mailadresse via Personal Message ...

Es soll jetzt aber nur "weggefiltert"
was jetzt wegfiltern ?? was soll behalten werden ? wenn da ein "-" steht oder ein 'X' ? Vorher wolltest du das alle bei einem X weggefiltert werden ??

wäre es langsam nicht mal angebracht sich etwas mehr in VBA einzuarbeiten ?!
VBA/VBS/WSH/Office Developer Referenzen
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
EXCEL VBA Termindaten aus Tabelle Filtern

Frage von t3jxbus zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel VBA: Automatische Konvertierung von Textdatei (.txt) zu Exceldatei (.xlsx) (7)

Frage von Booster07 zum Thema Microsoft Office ...

Microsoft Office
gelöst VBA Textformatierung Kalenderwoche (3)

Frage von Florian86 zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel VBA Tabelleblätter kopieren und Umbenennnen (8)

Frage von Florian86 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (17)

Frage von oel-auge zum Thema Router & Routing ...