Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA: AutoFilter Datum mit Combobox
#1
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
Antworten Top
#2
Hallo Eric,

wozu der Aufwand für eine Sache, die der Autofilter leisten kann.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
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


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#4
Hallo,

dann stelle doch bitte mal deine Datei hier ein. Das baut doch niemand nach.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#5
HIer die Datei...

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


Angehängte Dateien
.xlsm   HSNP_Laboranlage - Kopie.xlsm (Größe: 1,33 MB / Downloads: 7)
Antworten Top
#6
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!
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#7
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.
Antworten Top
#8
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?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#9
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.)
Antworten Top
#10
Hallo Eric,

so sollte es klappen:

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

Gruß Uwe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste