Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Leere Filtern funktioniert nicht - wo Fehler?

Leere Filtern funktioniert nicht - wo Fehler?
04.12.2008 18:50:00
Wolfgang
Hallo,
der nachstehende Code bewirkt ein Filtern über 16 Spalten bzw. Boxes; Ich würde ihn gerne, wie im Autofilter, ergänzen um (Leere), (Nichtleere) und (Alle). Ich habe, nach Hinweisen auf dem Forum, vor geraumer Zeit den Code versucht, anzupassen. Irgendwie ist aber noch ein Fehler darin, weil er die Leeren doch nicht filtert. Hat da evtl. jemand den Blick dafür, was da im Code noch falsch sein kann? - Könnte ich RowSource, siehe auch unten, evtl. direkt noch um den Text (Leere) etc. eränzen? Danke schon jetzt wieder für die Rückmeldungen.
Herzliche Grüße
Wolfgang

Private Sub Gesamt()
' Variablendeklaration
Dim intCounter As Integer
Dim shSource As Worksheet
Dim lngRow As Long
Dim wb As Workbook
Dim sport As String
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
Set shSource = Sheets("Gesamt")
For intCounter = 1 To 16
'Wenn eine Auswahl erfolgte, dann
If Controls("cbbKriterium" & intCounter).ListIndex  -1 Then
'Kriterium festlegen
Select Case Controls("cbbKriterium" & intCounter).Value
Case "(Alle)"
shSource.Range("A1").Autofilter Field:=intCounter '(Alle) anzeigen
Case "(Leere)", ""
shSource.Range("A1").Autofilter Field:=intCounter, Criteria1:="=" '(Leere) filtern
Case "(NichtLeere)"
shSource.Range("A1").Autofilter Field:=intCounter, Criteria1:="" '(Nichtleere) _
filtern
Case Else
If intCounter = 3 Then
shSource.Range("A1").Autofilter Field:=intCounter, _
Criteria1:=CDate(Controls("cbbKriterium" & intCounter).Value)
Else
shSource.Range("A1").Autofilter Field:=intCounter, _
Criteria1:=Controls("cbbKriterium" & intCounter).Value
End If
End Select
End If
Next intCounter
' Alle sichtbaren Zellen kopieren
shSource.Range("A1").CurrentRegion.Copy
' Neues Arbeitsblatt hinzufügen
Worksheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Paste
' Autofilter ausschalten
shSource.Range("A1").Autofilter
' Kopiermodus ausschalten
Application.CutCopyMode = False
Range("A1").Select
'wb.Activate
'Rows("1:1").Select
' Dialog beenden
Unload Me
Set fd = Nothing
End Sub


' RowSource für die 16 Comboboxes


Private Sub KritGesamt()
cbbKriterium1.RowSource = "Gesamt!a2:a6000"
cbbKriterium2.RowSource = "Gesamt!b2:b6000"
cbbKriterium3.RowSource = "Gesamt!c2:c6000"
cbbKriterium4.RowSource = "Gesamt!d2:d6000"
cbbKriterium5.RowSource = "Gesamt!e2:e6000"
cbbKriterium6.RowSource = "Gesamt!f2:f6000"
cbbKriterium7.RowSource = "Gesamt!g2:g6000"
cbbKriterium8.RowSource = "Gesamt!h2:h6000"
cbbKriterium9.RowSource = "Gesamt!i2:i6000"
cbbKriterium10.RowSource = "Gesamt!j2:j6000"
cbbKriterium11.RowSource = "Gesamt!k2:k6000"
cbbKriterium12.RowSource = "Gesamt!l2:l6000"
cbbKriterium13.RowSource = "Gesamt!m2:m6000"
cbbKriterium14.RowSource = "Gesamt!n2:n6000"
cbbKriterium15.RowSource = "Gesamt!o2:o6000"
cbbKriterium16.RowSource = "Gesamt!p2:p6000"
End Sub


Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Leere Filtern funktioniert nicht - wo Fehler?
05.12.2008 13:29:00
fcs
Hallo Wofgang,
das Problem ist, dass du für die Auswahllisten Tabellenbereich für ListRowSource zugeordnet hast. da dort die Begriffe (Alle), (Leere) und (NichtLeere) nicht vorkommen, werden sie natürlich auch nicht in den DropDowns der Komboboxen angezeigt.
Damit diese 3 Werte auch in den Auswahllisten erscheinen, müsstets du die RowSource-Eigenschaft leer lassen und die Auswahllisten mit der AddItem-Methode füllen.
da das Ganze dann ziemlich kompliziert wird, insbesondere wenn man auch noch Datums- und Zahlenwerte korrekt verarbeiten möchte, hab ich dir mal ein Beispiel erstellt, dass in etwa auf dein Beispiel passt und auch deine Code weitestgehend verwendet.
Gruß
Franz
https://www.herber.de/bbs/user/57368.xls
Anzeige
AW: Leere Filtern funktioniert nicht - wo Fehler?
05.12.2008 20:07:36
Wolfgang
Hallo Franz,
zunächst allerherzlichsten Dank für Deine Rückmeldung und Ausarbeitungen. Erneut alle Achtung für das Ergebnis ! - Ich habe nun versucht, nachdem sich noch zwei weitere Tabellenblätter in der Mappe befinden, die ebenfalls, nach entsprechender Auswahl über OptionButton, gefiltert werden sollen, zwei weitere UF in die Mappe "einzubauen" und diese dann entsprechend anzupassen. Grundsätzlich gelingt mir das auch. Allerdings meldet der Code dann Fehler13, Typen unverträglich. Hättest Du da evtl. eine Idee, woran das liegen könnte. Klicke ich dann OK in der Fehlermeldung, wird mir durchaus das angewählte UF und auch die darin vorbestimmte Tabelle angezeigt. - Filtern würde ich gerne jeweils Tabelle Gesamt oder Grunddaten oder Altdaten.
Danke schon jetzt wieder für die Rückmeldung.
Gruß - Wolfgang
Anzeige
Danke Franz, hat sich geklärt - läuft super!
07.12.2008 09:33:00
Wolfgang
Hallo Franz,
ich habe noch längere Zeit recherchiert und "gewühlt", um der Fehlermeldung auf die Schliche zu kommen. Innerhalb der ca. 3000 Zeilen entdecke ich auf einmal in einer kleinen Zelle, ziemlich zum Schluss #WERT.- Das war's, hierin lag wohl der Grund für die Fehlermeldung. Ich freue mich, dass Dein Code so wunderbar läuft und nun mit 3 UF -wie schon gesagt, für die jeweiligen 3 Tabellenblätter- angewandt werden kann. Dir hierfür nochmals allerherzlichsten Dank und ein schönes Wochenende.
Gruß - Wolfgang
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige