Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1028to1032
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
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


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

332 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige