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, 1310 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
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Microsoft Office
EXCEL VBA Termindaten aus Tabelle Filtern

Frage von t3jxbus zum Thema Microsoft Office ...

VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

VB for Applications
gelöst Excel VBA Eine oder mehrere Zellen Verschieben (2)

Frage von batchnewbie zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...