Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1692to1696
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
Inhaltsverzeichnis

Tabelle über Userform Filtern

Tabelle über Userform Filtern
24.05.2019 19:47:38
Markus
Hallo Zusammen,
ich versuche immer noch meine Liste über VBA zu filtern, leider bekomme ich es nicht auf die Reihe das die Filterung entsprechend funtionoiert.
Folgende Filter möchte ich ausführen:
1. Wenn in Textbox neben „von:“ ein Datum steht, sollen alle Werte in der Tabelle mit Zahlungseingang nach dem Datum gefiltert werde und anschließend in der Listbox angezeigt werden.
2. Wenn in der Textbox neben „bis:“ ein Datum steht, sollen logischerweise alle Werte in der Tabelle vor dem Datum gefiltert werden und anschließend in der Listbox angezeigt werden.
3. Und zuletzt, wenn beide Textboxen gefüllt sind, sollen alle werte zwischen den Daten angezeigt werden.
Die Codes die ich gefunden habe funktionieren leider nicht wie gewünscht.
Bei größer als wird zwar richtig gefiltert, aber die Fehlermeldung ‚Laufzeitfehler 13‘ kommt.
Bei zwischen wird auch gefiltert, aber leider nicht der gewollte Bereich
Bei kleiner passiert gar nichts und ich erhalte den Laufzeitfehler‘1004‘.
Kann mir jemand bei den Codes weiterhelfen?
Gruß
Markus
https://www.herber.de/bbs/user/130010.xlsm

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle über Userform Filtern
24.05.2019 20:27:36
onur
With und End with lohnen sich nur, wenn sie mehrere Befehle betreffen, sonst machen sie nur unnötigerweise den Code länger.
AW: Tabelle über Userform Filtern
24.05.2019 20:35:51
Markus
Hallo onur,
danke für deine schnelle Antwort!
Das klappt soweit gut!
Gruß Markus
AW: Tabelle über Userform Filtern
24.05.2019 20:34:21
Matthias
Moin!
Das Problem ist, dass du einen leeren String in ein Datum umwandeln willst. Das erzeugt den Fehler. Dort vorher abfragen, ob der string leer ist. Für das Eintragen in die LB musst du jede Zeile durchgehen und prüfen, ob sie ausgeblendet ist. Das sind u.U. viele Zellzugriffe. Da könnte man auch auf das Filtern verzichten und die Daten gleich im Code auswerten. Ist bei großen Daten ggf. schneller. Hier mal dein COde angepasst.
Private Sub CommandButton1_Click()
'filtern
Dim Datum1 As Date
Dim Datum2 As Date
Dim zeilen As Long
Dim aktzeile As Long
Dim bereich()
Me.ListBox1.Clear
zeilen = Sheets("Rechnungen").Cells(Sheets("Rechnungen").Rows.Count, 1).End(xlUp).Row
If TextBox_Date1 = "" And TextBox_Datei2 = "" Then Exit Sub
If TextBox_Date1 = "" Then
Datum2 = TextBox_Date2
With Sheets("Rechnungen")
Rows("1:1").AutoFilter Field:=9, Criterial:="" & CDbl(Datum1)
End With
End If
If TextBox_Date1  "" And TextBox_Date2  "" Then
Datum1 = TextBox_Date1
Datum2 = TextBox_Date2
With Sheets("Rechnungen")
Rows("1:1").AutoFilter Field:=9, Criteria1:=">=" & CDbl(Datum1), Operator:=xlAnd, Criteria2: _
="

VG
Anzeige
AW: Tabelle über Userform Filtern
24.05.2019 20:37:27
Matthias
Hatte ich vergessen. Verschiebe mal die UF in einen Bereich, der beim Filtern nicht ausgeblendet wird. Ansonsten könnte es sein, dass deine UF auch ausgeblendet ist (also der Button).
AW: Tabelle über Userform Filtern
24.05.2019 21:11:39
Markus
Hallo Matthias,
danke für deine Antwort und den Code. Der läuft gut und passt super für meine Anwendung.
Meine ersten Versuche waren schon so gedacht, dass ich ohne die Tabelle zu filtern die Listbox fülle...
Der Wunsch war eigentlich das ich z.B. den Kunde eingebe, die Datumsbereiche eingebe und dann die Listbox entsprechend gefüllt wird. Daran bin ich aber kläglich gescheitert...
Daher habe ich diesen "Umweg" gewählt.
Gruß Markus
Anzeige
AW: Tabelle über Userform Filtern
24.05.2019 21:59:26
Markus
Hallo
ich habe noch ein kleines Problem, passt vtl. nicht ganz zur Ausgansfrage aber:
Ich fülle die Datumsspalte (in meiner richtigen Tabelle) über eine andere Userform mit TextBox.
Die TextBox ist mit "cdate" formartiert. In die Tabelle trägt der Befehl (s.u.) auch das Datum schön ein z.B. 24.05.2019.
Die gesamte Spalte in der betreffenden Tabelle ist auch als Datum formartiert.
Leider erkennt er aber die neue eingetragenen Werte beim filtern nicht als Datum.
Der Befehl zu Eintrag lautet: .Cells(lngrow, 9) = Betrag_erhalten.TextBox_Erhalten.Value
Wie muss ich den Eintrag formatieren, damit er auch beim filtern als Datum erkannt wird?
Gruß Markus
Anzeige
AW: Tabelle über Userform Filtern
24.05.2019 21:59:28
Markus
Hallo
ich habe noch ein kleines Problem, passt vtl. nicht ganz zur Ausgansfrage aber:
Ich fülle die Datumsspalte (in meiner richtigen Tabelle) über eine andere Userform mit TextBox.
Die TextBox ist mit "cdate" formartiert. In die Tabelle trägt der Befehl (s.u.) auch das Datum schön ein z.B. 24.05.2019.
Die gesamte Spalte in der betreffenden Tabelle ist auch als Datum formartiert.
Leider erkennt er aber die neue eingetragenen Werte beim filtern nicht als Datum.
Der Befehl zu Eintrag lautet: .Cells(lngrow, 9) = Betrag_erhalten.TextBox_Erhalten.Value
Wie muss ich den Eintrag formatieren, damit er auch beim filtern als Datum erkannt wird?
Gruß Markus
Anzeige
AW: Tabelle über Userform Filtern
24.05.2019 22:03:18
onur
"Die TextBox ist mit "cdate" formartiert" ?
AW: Tabelle über Userform Filtern
24.05.2019 22:10:14
Markus
Ist wohl falsch ausgedrückt...
ich gebe z.B. in der TextBox ein: "24.05"
und nach Wechsel in eine andere TextBox wird das vollständige Datum eingeschrieben...
so z.B.
Private Sub TextBox_Date2_afterupdate()
TextBox_Date2 = CDate(TextBox_Date2)
End Sub
Diese Datum wird dann in die Tabelle eingetragen, aber wohl leider nicht als Datum...
AW: Tabelle über Userform Filtern
25.05.2019 05:56:58
Werner
Hallo Markus,
die Textbox mußt du auch als Datum in die Zelle übergeben, weil halt eine Textbox Text enthält.
Range("A1") = CDate(TextBox1)
Gruß Werner
Anzeige
AW: Tabelle über Userform Filtern
25.05.2019 06:24:12
Werner
Hallo Markus,
in deinem Fall dann:
.Cells(lngrow, 9) = CDate(Betrag_erhalten.TextBox_Erhalten)
Gruß Werner
AW: Tabelle über Userform Filtern
25.05.2019 06:35:19
Markus
Hallo Werner,
vielen Dank! Jetzt läuft es!
Gruß Markus
Gerne u. Danke für die Rückemldung. o.w.T.
25.05.2019 06:46:14
Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige