Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
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
Filtern einer Tabelle in Userform
27.03.2020 20:28:26
Markus
Hallo Zusammen,
anbei der Link zu meiner Datei die mir Probleme bereitet.
ich möchte in der Listbox meiner Userform nach Rechnungen aus der Tabelle filtern können. Die Rechnungen unterscheiden sich nach Kunde, gezahlte Rechnungen und bisher nur gestellte Rechnungen. Zusätzlich möchte ich im Zeitbereich filtern. Beim Code wurde mir bereits mal kräftig hier im Forum geholfen. Das Filtern nach Kunde, gezahlte bzw. gestellte Rechnung funktioniert prima. Nur mit den Zeitbereichen klappt es nicht richtig.
Beispiel: Suche ich nach gestellten Rechnungen ab 01.01.19 wird in der Listbox noch eine Rechnung aus 2018 aufgeführt
Gebe ich nun das Datum ab 01.01.2020 ein filtert die Listbox gar nicht mehr richtig…
Ist die Datumsabfrage zu ungenau?
Kann mir jemand vielleicht weiterhelfen?
Gruß Markus
https://www.herber.de/bbs/user/136179.xlsm

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filtern einer Tabelle in Userform
27.03.2020 21:49:43
Luschi
Hallo Markus,
wenn Du die Spalte 'I' mal ein bißchen breiter machst, erkennst Du, daß ab Zeile '79' bestimmte Datumsangaben linksbündig stehen. Diese Werte sind im Aray dann Strings/Texte und keine Datumwerte und CDbl() macht dann daraus eine riesengroße Zahl, aus dem String '11.02.2019' wird dann 11022019 - und das ist weit jenseits vom 01.01.3000 (401769)
Gruß von Luschi
aus klein-Paris
Frage: Warum benutzt Du überhaubt CDbl(...), die Werte im Array 'daten(zeile, 9)' sind bei richtiger Darstellung in der Tabelle/Spalte 'I' bereits Datumswerte, was man erkennt an: #11.02.2019#
Anzeige
AW: Filtern einer Tabelle in Userform
28.03.2020 07:54:55
Markus
Guten Morgen Luschi!
Vielen Dank für deine Antwort und die Hinweise!!! Das war mir so nicht aufgefallen. Die Datumswerte wurde tatsächlich ab einem bestimmten Datum nicht mehr richtig in die Tabelle eingetragen (läuft über eine andere Userform die vor ca. einem Jahr angepasst wurde, dabei ist etwas verloren gegangen). Habe nun die Werte in der Tabelle händisch und den Code in der anderen Userform angepasst, jetzt läuft es...
Vielen Dank für die schnelle Hilfe!
Gruß Markus
AW: Filtern einer Tabelle in Userform
28.03.2020 08:15:12
Matthias
Moin!
Wie Luschi schon angemerkt hat, ist ab Zeile 79 das Format anders. Die Zeile 59 hat da auch ein anderes Format. Deshalb kommt der WErt mit vor.
Um das Problem zu beheben, wandle den Wert vorher noch in ein DAtum um. Sieht bei Case 2 dann so aus.
If CDbl(CDate(daten(zeile, 2))) 

Damit geht es. Ggf. bei den anderen Cases auch ergänzen. Suboptimal ist jetzt,dass du den Code für zwei Fälle (gestellte, gezahlte) eigentlich fast identisch hast. Da musst du bei Änderungen am Code zweimal arbeiten. Wäre besser, wenn du den Code nur einmal hast und nur an der Stelle, wo sich de Code unterscheidet ein if reinmachst. Alternativ könntest du auch überall das Cdbl (auch bei den Textboxen uws.) wegmachen. So hast du aber nur eine Änderung - geht schneller.
@Luschi
Das mit dem CDBL hatten wir glaube ich gemacht,da die Werte nicht immer so dastanden, wie sie sollten. Binmir aber grad nicht sicher - ist schon etwas her. Da ich dann lieber mit der Zahl für den Tag arbeitet, hatten wir es bei den Textboxen dann auch in cdbl umgewandelt und mussten damit auch die Werte im Array in dbl vorliegen haben.
VG
Anzeige
AW: Filtern einer Tabelle in Userform
28.03.2020 17:46:30
Markus
Hallo Matthias,
danke für deine Hinweise, das werde ich so mal versuchen umzusetzen. Das Format habe ich in der Tabelle schon angepasst.
Gruß Markus

278 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige