Clever-Excel-Forum

Normale Version: VBA: AutoFilter Datum mit Combobox
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich habe eine Tabelle, in welcher ich in Spalte B mehrere Daten stehen habe.
Nun möchte ich über die Auswahl von 2 verschiedenen Comboboxen (eins für den Monat und eins für das Jahr) die Tabelle filtern und habe hierfür folgendes geschrieben:

Code:
Private Sub ComboBox1_Change()
Dim Monatsanfang
Dim Monatsende

TextBox1 = ComboBox3.Value & "." & ComboBox2.Value & "." & ComboBox1.Value

Monatsanfang = "01" & "." & ComboBox2.Value & "." & ComboBox1.Value
Monatsende = "31" & "." & ComboBox2.Value & "." & ComboBox1.Value

Range("B5").AutoFilter Field:=1, Criteria1:=">=" & Monatsanfang, Operator:=xlAnd, Criteria2:="<=" & Monatsende


End Sub

Private Sub ComboBox2_Change()
Dim Monatsanfang
Dim Monatsende

TextBox1 = ComboBox3.Value & "." & ComboBox2.Value & "." & ComboBox1.Value

Monatsanfang = "01" & "." & ComboBox2.Value & "." & ComboBox1.Value
Monatsende = "31" & "." & ComboBox2.Value & "." & ComboBox1.Value

Range("B5").AutoFilter Field:=1, Criteria1:=">=" & Monatsanfang, Operator:=xlAnd, Criteria2:="<=" & Monatsende

End Sub
Private Sub ComboBox3_Change()
Dim Monatsanfang
Dim Monatsende

TextBox1 = ComboBox3.Value & "." & ComboBox2.Value & "." & ComboBox1.Value

Monatsanfang = "01" & "." & ComboBox2.Value & "." & ComboBox1.Value
Monatsende = "31" & "." & ComboBox2.Value & "." & ComboBox1.Value

Range("B5").AutoFilter Field:=1, Criteria1:=">=" & Monatsanfang, Operator:=xlAnd, Criteria2:="<=" & Monatsende



End Sub
Leider erscheinen nie irgendwelche Daten. Wenn ich aber anschließend in die Filteroption gehe und einfach das "Zwischen" nochmal mit "ok" bestätige, dann funktioniert der Filter.
Ich habe herausgefunden, dass das ">=" und "<=" wohl Probleme machen. Wenn ich nur mit einem "=" ausführe, dann gibt es (in dem Fall) das richtige Datum heraus.

Findet jemand den Fehler in meinem Programm?

Auf eine Antwort würde ich mich sehr freuen :)

LG Eric
Hallo Eric,

wozu der Aufwand für eine Sache, die der Autofilter leisten kann.
Hallo Klaus-Dieter,

ich habe ine UserForm, in der ich eine Tabelle befüllen kann. (siehe Bild)
Ich möchte, dass die eingetragenen Werte in der Listbox übersichtlicher sind, indem ich sie nach Monat und Jahr filter.
Im Laufe der Zeit kommen pro Jahr etwa 200 Werte hinzu, was das ganze recht unübersichtlich macht.

LG Eric
Hallo,

dann stelle doch bitte mal deine Datei hier ein. Das baut doch niemand nach.
HIer die Datei...

Habe gedacht, es ist ein simpler Fehler drin, was ich als Laie übersehe ^^
Hallo,

da du dich selbst als Laie bezeichnest, gestatte mir die Frage, auf wessen Mist diese Datei gewachsen ist. Gefühlt 12 nahezu identische Userforms, da muss man erst mal drauf kommen!
War mir schon klar, dass sowas kommt...
Sind Vorgaben gewesen.
Und ich weiß auch, dass die Codes dahinter schlecht sind, aber ich habe erst vor einigen Wochen mit der gesamten Theamtik angefangen und lerne ja erst aus den Fehlern hinzu.
Hallo,

meine Chefs haben immer nur die gewünschten Ergebnisse definiert, nicht den Weg dort hin, aber sei es drum. Der Sortiervorgang (genauer der Filtervorgang) soll, wenn ich das richtig verstanden habe, im Listenfeld erfolgen?
Wie gesagt, beschäftige mich selber erst seit kurzem damit und da kann man halt extrem viel falsch machen, was erst 10 Schritte weiter zum Vorschein kommt...

Entweder im Listenfeld oder direkt in der Mappe (so habe ich es aktuell in der VBA versucht.)
Hallo Eric,

so sollte es klappen:

Code:
Range("B5").AutoFilter Field:=1, Criteria1:=">=" & CDbl(CDate(Monatsanfang)), Operator:=xlAnd, Criteria2:="<=" & CDbl(CDate(Monatsende))

Gruß Uwe
Seiten: 1 2