Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1356to1360
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

Userform mit Auswahl >2000 Datensätze

Userform mit Auswahl >2000 Datensätze
09.04.2014 19:46:52
Günter
Hallo,
wie im Betreff steht, wird es langsam unübersichtlich aus der Anzahl der Datensätze
einen bestimmten zu finden.
Ich habe die betreffende Userform etwas erweitert (Zeitraum, Maschinenkennung), und
würde Hilfe brauchen, das alles zum Laufen zu bringen.
Ich habe alles was wichtig ist, hoffe, in das Excelfile geschrieben.
Hoffe das mir dabei jemand helfen kann.
https://www.herber.de/bbs/user/90074.xls
Bis bald,
Günter

46
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform mit Auswahl >2000 Datensätze
10.04.2014 06:45:27
Hajo_Zi
Hallo Günter,
mir scheint Du hast die falsche Datei hochgeladen. Die Datei enthält keine Datensätze, es steht nichts in C6 und C7?

AW: Userform mit Auswahl >2000 Datensätze
10.04.2014 09:20:56
Guenter
Hallo,
ist schon die richtige Datei.
Die Datensätze liegen eigentlich als Dateien auf einem Netzwerk-Laufwerk.
Ich hab das für die Datei nur auf C:\temp umgebogen.
Sind nur Daten, die durch ; getrennt sind und in ein Tabellenblatt "importiert" werden können.
Ich wusste nicht, ob ich Beispieldatensätze hier hochladen kann?
(Einfach gehts mit erstellen leerer Textdateien und dann umbenennen).
Nicht C6 und C7 sondern A6 und A7 (Ich wusste doch, es geht nicht ohne Fehler ;)
,wenn die Jahreszahl direkt in der Userform verwendet werden kann, wärs um so besser,
soll halt sich nächstes Jahr von selber umstellen können.
Ich bedanke mich erstmal, das du hier reingeschaut hast,
bis bald,
Günter

Anzeige
AW: Userform mit Auswahl >2000 Datensätze
10.04.2014 09:27:35
Hajo_Zi
Hallo Günter,
Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
Ein Nachbau sieht bestimmt anders aus als das Original.
Ein Link zur Datei wäre nicht schlecht.
Von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
Der Dateiname sollte was mit dem Problem zu tun haben.
Ich habe mir z.B. einen Ordner angelegt in dem ich alle Dateien aus dem Internet speichere. Bei Dateinamen wie Test..., Mappe…, Beispiel… wird eine vorhandene überschrieben.
Ein Bild in Excel geöffnet sieht anders aus als das Bild.
Ich bin dann raus.
Gruß Hajo

Anzeige
AW:Keine Datei nachbauen; hab hochgeladen
10.04.2014 14:26:39
Günter
Hallo Hajo,
Verstehe jetzt eigentlich nicht, auf was sich deine Antwort bezieht?
Wäre super, wenn die Userform halt mit diesen "Filtern"? funktionieren würde.
Ich hab mir schon ein paar Beispiele angesehen, ist aber nichts für mich "einfaches" dabei.
Und zum Programmieren bin ich einfach zu dumm. Ich kann kopieren und einfügen, leichte
Veränderungen, wie Pfade anpassen, das wars.
Bei den Dateinnamen der Datensätze soll eigentlich nur die Dateiendung und das Datum
mit der Userform "ausgewertet" werden, soweit ich das beurteilen kann.

Die Datei https://www.herber.de/bbs/user/90093.xls wurde aus Datenschutzgründen gelöscht


Gruss,
Günter

Anzeige
AW: Userform mit Auswahl >2000 Datensätze
10.04.2014 20:43:08
Oberschlumpf
Hi Günter
Ich will mein Glück mal versuchen, aber...
...hab gleich schon mal n paar Fragen.
Ich hab wohl verstanden, dass die Einträge in der Tabelle als "Vorgabe" dienen sollen, wie die Dateien im selben Verzeicnis bei dir heißen, und dass man eben schnell selbst mal n paar 0-Byte-Testdateien erzeugen soll, die dann diese Dateinamen haben.
Ok, kein Problem.
Aber wie kriege ich die erstellten Testdateien, die ja ein anderes Erstell-Datum haben, nämlich das von heute, mit den Datumswerten, die in der Tabelle daneben stehen in Zusammenhang?
Sind die Datumswerte etwa die Erstelldatumswerte von den Originaldateien?
Soll dann, wenn im Userform z Bsp leztes Jahr ausgewählt wird, das Erstelldatum jeder Datei ermittelt und nur die mit 2013 im Erstelldatum angezeigt werden?
Oder stehen diese Datumswerte wirklich irgendwo in der Exceltabelle?
Aber wie dann zuordnen?
Wie du siehst, verstehe zumindest ich es noch gar nicht, was es mit diesen Datumswerten auf sich hat.
Und nur noch mal, um sicher zu gehen, dass ich wenigstens den Rest verstanden habe :-)
Du hast 2000+ solcher Dateien, die sich auf irgendwelche Maschinen beziehen?
Alle Dateien befinden sich (hoffentlich) im selben Ordner, oder?
Und mit Hilfe des Userform(ulares) willst du nach diversen Vorgaben die angezeigten Dateien filtern, um so einen besseren Überblick zu bekommen?
Ich hätte da auch gleich einen Verbesserungsvorschlag :-)
Was hältst du davon, anstelle der Checkboxen (das sind die Haken im Userform) gegen OptionButton zu tauschen (das sind kleine schwarze Punkte in einem Kreis, wenn man sie anklickt)?
Vorteil:
Du kannst immer NUR EINEN OptionButton auswählen.
Sobald du einen anderen anklickst, ist der zuvor ausgewählte wieder deaktiviert.
So muss man nicht extra das Haken-Entfernen programmieren, um das du ja auch gebeten hattest.
So, nun bin ich auf deine Antworten neugierig.
Ciao
Thorsten

Anzeige
noch ne Idee
10.04.2014 20:57:24
Oberschlumpf
Hi Günter
Müssen die Werte in A6+7 unbedingt sein? Ich meine, benötigst du diese Werte auch noch woanders, außer für das Userform?
Wenn sonst nicht nötig, und in Userform immer nur letztes + dieses Jahr, dann kannst du die Werte in A6+7 löschen, weil...
...die Anzeige für letztes Jahr + dieses Jahr geht auch mit Date-1 und einfach nur Date - in beiden Fällen wird nur die Jahreszahl angezeigt.
Ciao
Thorsten

Ha! Und noch ne Idee! :-)
10.04.2014 21:08:20
Oberschlumpf
Hi Günter
Ich denke mal, bei 2000+ Dateien wirst du nicht nur Dateien von diesem und dem letzten Jahr haben, oder?
Und was hältst du hiervon?
Die beiden Punkte für dieses + letztes Jahr löschen, und anstelle dessen eine Combobox einbauen?
Ne Combobox ist ne aufklappbare Listbox. Und darin könnte man ALLE Jahreszahlen, für die es gbr*-Dateien gibt auflisten + jeweils immer eins davon auswählen.
Bin neugierig auf dein Feedback.
Ciao
Thorsten

Anzeige
AW: Ha! Und noch ne Idee! :-)
11.04.2014 00:08:39
Günter
Hallo Oberschlupf,
ich versuche, alles geordnet zu beantworten ;)
--Aber wie kriege ich die erstellten Testdateien, die ja ein anderes Erstell-Datum haben,
--nämlich das von heute, mit den Datumswerten, die in der Tabelle daneben stehen in Zusammenhang?
--Sind die Datumswerte etwa die Erstelldatumswerte von den Originaldateien?
Entweder ich könnte Beispieldatensätze als zip hochladen oder die Idee, einfach Dateien auf der
Festplatte zusammensuchen und umbenennen.
Dateimanager-Extras-Ordneroptionen-Ansicht-Erweiterungen bei bekannten Dateitypen ausblenden; abwählen
Dann Datei-Endungen umbenennen.
--Soll dann, wenn im Userform z Bsp leztes Jahr ausgewählt wird, das Erstelldatum jeder Datei ermittelt
--und nur die mit 2013 im Erstelldatum angezeigt werden?
--Oder stehen diese Datumswerte wirklich irgendwo in der Exceltabelle?
Die Datumswerte beziehen sich direkt auf die Datei, das was der Dateiexplorer anzeigt, also ist nirgends in
der Exceltabelle hinterlegt. 2013 = Dateien von 2013 ; 2014 = alle Dateien von 2014.
--Du hast 2000+ solcher Dateien, die sich auf irgendwelche Maschinen beziehen?
--Alle Dateien befinden sich (hoffentlich) im selben Ordner, oder?
Ja, und es werden immer mehr (ca. 500/Jahr)
--Und mit Hilfe des Userform(ulares) willst du nach diversen Vorgaben die angezeigten Dateien filtern,
--um so einen besseren Überblick zu bekommen?
Ja
--Was hältst du davon, anstelle der Checkboxen (das sind die Haken im Userform) gegen OptionButton zu tauschen
--(das sind kleine schwarze Punkte in einem Kreis, wenn man sie anklickt)?
Es müsste aber möglich sein, das Jahr und alle Maschinen gleichzeitig auszuwählen!
Als Grundvorgabe hat man mir angetragen, "Alles" als Standard-Vorgabe, wenn möglich, zu machen,
damit garnix schief laufen kann ?
--Müssen die Werte in A6+7 unbedingt sein? Ich meine, benötigst du diese Werte auch noch woanders, außer für das Userform?
Nirgends, zur freien Verfügung ;)
--Die beiden Punkte für dieses + letztes Jahr löschen, und anstelle dessen eine Combobox einbauen?
Klar, geht!
Vorgabe könnte man das aktuelle Jahr machen ?
Bis bald,
Günter
P.S. Erfrischend, soviel Energie ;) Danke

Anzeige
AW: Ha! Und noch ne Idee! :-)
11.04.2014 02:09:58
Oberschlumpf
Hi Günter
...Entweder ich könnte Beispieldatensätze als zip hochladen oder die Idee, einfach Dateien auf der
Festplatte zusammensuchen und umbenennen....

Ja, mach mal, sonst müsste ich das ja auch noch tun - also, das Erstelldatum für mehrere Dateien so anpassen, dass es für deine Datei passt.
Ciao
Thorsten

Erstelldatum oder...
11.04.2014 10:07:56
Oberschlumpf
...Änderungsdatum?
Hi Günter,
danke für die Bsp-Dateien. Von der Anzahl her kann man damit schon mal arbeiten.
Aber...
Geht es dir bei der Jahresauswahl um das Erstelldatum dieser Dateien (der Zeitpunkt, an dem eine Datei das erste Mal deinen PC "betritt"), oder geht es um das Änderungsdatum (der Zeitpunkt, an dem die Datei das letzte Mal geöffnet, bearbeitet + gespeichert wurde)?
Das Erstelldatum all der Bsp-Dateien ist 11.04.2014, 9:50h (ich weiß nun also, wann du die Dateien von irgendwo kopiert + eingefügt hast :-) )
Nur das Änderungsdatum zeigt auf die Jahre 2009-2014.
Danke für Antwort.
Ciao
Thorsten

Anzeige
AW: Erstelldatum oder...
11.04.2014 10:42:31
Günter
Hallo Thorsten,
sinnvoll wäre wohl das "erste" Erstelldatum, weil der dazugehörige Auftrag ja auch aus
der Zeit stammt, also nicht das Änderungs- oder Kopierdatum!
Also, wie du schreibst:
der Zeitpunkt, an dem eine Datei das erste Mal deinen PC "betritt"
Gruss,
Günter

AW: Erstelldatum oder...
11.04.2014 10:51:35
Oberschlumpf
Hi Günter
Tja, Pech gehabt - für dich! :-)
Dann musst du das später im Code anpassen.
Ich MUSS zur Zeit das Änderungsdatum als Kriterium bei der Jahresauswahl nehmen, da ja ALLE deine Bsp-gbr*.Dateien ein und dasselbe Erstelldatum haben - nämlich heute, 9:50h.
Würde ich den Code schon jetzt aufs Erstelldatum anpassen, würde ich als Jahresauswahlmöglichkeiten nur 2014 angezeigt bekommen, was für mich das weitere Testen sehr erschweren würde.
Ich kann nix versprechen (ob ich an alles denke), aber ich versuche, wenn fertig, im Code die Stellen zu kommentieren, wo du den Code anpassen musst.
Ciao
Thorsten

Anzeige
AW: Erstelldatum oder...
11.04.2014 12:42:26
Günter
Hallo Thorsten,
ich denke, wir sind doch auf dem richtigen Weg ;)
Bis bald,
Günter

AW: Erstelldatum oder...
11.04.2014 13:16:56
Oberschlumpf
Moin Günter
Wir?......prust :-)
Nein, alles is ok :-)
Ciao
Thorsten

Endergebnis?
11.04.2014 14:40:37
Oberschlumpf
So, hallo noch mal
Ich glaube, mit meinem Job bin ich fertig :-)
hier erst mal die Datei

Die Datei https://www.herber.de/bbs/user/90117.xls wurde aus Datenschutzgründen gelöscht


und hier noch die Bsp-Gbr's
https://www.herber.de/bbs/user/90118.zip
Teste bitte erst mal mit all den Bsp-Dateien, damit du siehst, dass der Code erst mal grundsätzlich funktioniert.
Und wenn du dann alles in deine Originaldatei übernehmen willst, empfehle ich dir, vorher eine/viele Sicerheitskopien zu erstellen...man weiß ja nie
nach Klick auf den Button in der Tabelle öffnet sich ja das Userform (UF), und...
...es werden aus dem im Code definiertem Verzeichnis alle *.gbr*-Dateien ausgelesen und in der Listbox angezeigt
wenn du nun...
...eine der 3 Maschinen auswählst, z Bsp ZSE 25, werden in der Listbox nur die Dateien angezeigt, die am Ende .gbr_Z25 "heißen"
...eine weitere Maschine auswählst, z Bsp ZSK 50, werden in der Listbox zusätzlich zu den 25er Dateien nun auch noch die Dateien angezeigt, die am Ende .gbr_Z50 "heißen"
...die Auswahl aller 3 Maschinen ist in der Ansicht der Liste natürlich genau so, als ob du "alles" anklickst
wenn du nun...
...eine Maschine nach der anderen wieder abwählst, werden nur wieder genau die Dateien angezeigt, die noch ausgewählt sind
...alle Haken zur Maschinenauswahl entfernt hast, werden wieder alle Dateien angezeigt - und auch der OptionButton "alles" ist aktiviert
wenn du nun ein beliebiges Jahr auswählst, z Bsp 2014...
...werden in der Liste erst mal alle Dateien angezeigt, die im Jahr 2014 erstellt wurden
...und eine Maschine auswählst, werden nur die Dateien für die gewählte Maschine aus dem Jahr 2014 angezeigt
...usw
wenn du nun aus der Jahresliste wieder "welches Jahr" auswählst, werden wieder alle Dateien angezeigt.
So, das war die Programmbeschreibung.
Nun noch n paar Infos.
Wie gesagt, wenn dir das Erstelldatum der Dateien wichtig ist, musst du den Code anpassen.
Die Stellen im Code hab ich kommentiert.
Dann ist da noch...dein Code insgesamt.
Wie du vllt bemerkt hast, hab ich zumindest den Code, den ich verwenden konnte, z Bsp sortieren, ins allgemeine Modul verschoben.
Und auch sonst hab ich so ziemlich das Meiste vom Code ins allg. Modul geschrieben.
Der Grund ist, es gibt Situationen, in denen man bestimmten Code immer wieder mal ausführen muss.
Z Bsp sortieren.
Die Liste muss nach jeder Befüllung sortiert werden. Und das kommt ja in der Benutzung des Programms sehr häufig vor ;-)
Und Code, der sich im allg. Modul befindet, kann von überall her im Code aufgerufen werden.
Wenn du den Code fürs Sortieren ins Modul eines Tabellenblattes schreibst, geht das nicht.
Deswegen mein Tipp:
Schreib möglichst jeden Code ins allg. Modul.
Beachte auch noch die paar anderen Kommentare im Code.
So, der erste Teil, die Navigation, ist erledigt (hoff ich zumindest :-) ).
Jetzt kommst du ja zu dem Teil, was denn mit den Dateien in der Liste passieren soll, oder?
Hat meine Hilfe deine Frage(n) denn beantwortet?
Ciao
Thorsten

Anzeige
AW: Endergebnis?
11.04.2014 14:52:23
Günter
Dank schon mal,
werds nachher testen ;)
Bis dann,
Günter

AW: Endergebnis?
11.04.2014 18:15:09
fcs
Hallo Günther,
ich hab mir deine Datei auch mal vorgenommen.
Bei mir werden die Infos zu den Dateinamen, Maschinen plus einige Infos aus dem Dateiinhalt in einem Tabellenblatt erfasst. In diesem Tabellenblatt kannst du auch filtern und suchen und eine Datei per Doppelklick auswählen.
Die Daten in dem Tabellenblatt sind auch die Basis für die Auswahllisten im Userform. Bei Bedarf kann man die Liste aktualisieren.
In den Listboxen für Maschine und Jahr kannst du wie im Windows-Dateimanager einen oder mehrere Einträge auswählen. Mit jeder Auswahl in einer dieser Listboxen wird die Dateiliste aktalisiert.
Gruß
Franz
https://www.herber.de/bbs/user/90120.xls

Alles auf dem Weg gebracht ;)
11.04.2014 20:39:54
Günter
Hallo Franz,
hab eben erst deinen Beitrag gesehen!
Ich hab mir die Datei angesehen, ganz anderer Lösungsweg, gefällt mir ;)
Da ist sogar evtl. noch möglich, in das InfoFeld der Userform aus der Tabelle gbr_data
die Info aus Spalte L mit anzuzeigen, wenn ein Datensatz markiert ist.
Evtl. noch ein kleineres Infofeld darunter mit Info aus Tabelle gbr_data aus Spalte K.
Geht das noch zu machen, das man die Datensätze von 2 Maschinen gleichzeitig sehen kann?
Herzlichen Dank erstmal an Dich,
Gruss,
Günter

AW: Alles auf dem Weg gebracht ;)
11.04.2014 23:09:55
Günter
Hallo Franz,
Der Dateipfad der Datensätze ist bei mir in Tabelle9(System) in A1 definiert.
Was muss ich denn im Modul_gbr deaktivieren oder ergänzen, damit der "Explorer" nicht jedesmal
nach dem Pfad fragt?
Habs schon versucht, aber kommen dann immer variablen-Fehler ;)
Bis bald,
Günter

AW: Alles auf dem Weg gebracht ;)
12.04.2014 15:04:30
fcs
Hallo Günther,
ich hab die Funktionalitäten mal entsprechend angepasst.
Die in der Listbox mit der Dateiauswahl anzuzeigenden Spalten kannst du steuern, indem in der Initialisierungs-Prozedur des Userforms die Breiten der Spalten ggf. auf 0Pt gesetzt werden.
Gruß
Franz
https://www.herber.de/bbs/user/90126.xls

finished !
12.04.2014 16:06:46
Günter
Hallo Franz,
wow, ganz neue Optik, der Wahnsinn ;)
Ich habe jetzt insgesamt viel "Stoff", bei dem ich auch noch viel lernen kann!
Werde auch das mal in eine Version meines Hauptprogramms einbauen und testen.
Meinen herzlichen Dank,
Günter

AW: Alles auf dem Weg gebracht ;)
14.04.2014 22:08:46
Günter
Hallo Franz,
Bevor das Thema hier verschwindet, hätte ich die Frage an Dich.
Ist es möglich, für die Jahres-Auswahl der Datensätze, in der Userform nicht das Datei-Datum,
sondern in jedem Datensatz die ersten 4 Zeichen, die das Jahr des Datensatzes bestimmen.
Ich glaube, das wäre Jahr2, oder?
Ich blick da schon gar nicht mehr durch ;)
Gruss,
Günter

AW: Userform-Suche angepasst
15.04.2014 07:12:07
fcs
Hallo Günther,
ich hab die Suche im Userform auf das Jahr in den bgr-Dateien umgestellt.
Dazu muss "nur" die Spalten-Nummer an den entsprechenden Stellen im Userform-Code von 2 in 5 geändert werden.
In meinem Spieltrieb hab hab ich auch noch die Möglichkeit eingebaut, den Verwendungstext zu durchsuchen.
Gruß
Franz
https://www.herber.de/bbs/user/90167.xls

AW: Userform-Suche angepasst
15.04.2014 08:35:01
Günter
Hallo Franz,
Einfach genial gemacht!
Danke, das du nochmal reingeschaut hast ;)
Gruss,
Günter

AW: Endergebnis?
11.04.2014 18:36:52
Guenter
Hallo Thorsten,
also ich hab getestet, und es gefällt mir unglaublich ;)
Deine Dokumentation ist absolute Spitze!
So habe ich mir die Erweiterung für mein Hauptprogramm vorgestellt!
Einzig:
Die Erfassung der Datensätze über das Erstelldatum oder Änderungsdatum,
wird noch mein Problem werden.
Sollte irgendwie der Ordner im Netzwerk vom Admin mal "verschoben" werden, wäre das wohl der Tag 0.
Ich habe mir mal die Datensätze genauer angesehen, und tatsächlich, die ersten
4 Stellen beinhalten die Jahreszahl, die man dazu eigentlich bräuchte.
Aber ich befürchte, es ist kompliziert, jeden Datensatz daraufhin zu "checken",
und richtig dem Jahr zuzuordnen.
Aber erstmal habe ich Arbeit, wie du richtig vermutet hast, das alles in das Hauptprogramm
zu integrieren.
Ich bedanke mich nochmals herzlich bei Dir,
Gruss,
Günter

AW: Endergebnis?
11.04.2014 18:55:54
Oberschlumpf
Hi Günter
...Die Erfassung der Datensätze über das Erstelldatum oder Änderungsdatum,
wird noch mein Problem werden....

Wo genau ist denn das Problem?
Wenn es darum geht, den Code von Änderungs- auf Erstelldatum umzustellen, sind es doch nur 4 Codezeilen, in denen du die Eigenschaft ändern musst.
(ich hab nur 3 Stellen kommentiert. Die 4. Stelle ist in der Function fcHit; hatte ich übersehen)
Oder ist das Problem, dass du dich nicht entscheiden kannst, ob Erstell- oder Änderungsdatum?
Dazu 2 Fragen:
1. Werden die Dateien nur erstellt, und dann nur noch zum Ansehen/Auslesen geöffnet?
Dann ist deine Wahl das Erstelldatum, weil Änderungsdatum eh nur interessant, wenn Dateiinhalt gändert wird.
2. Oder werden die Dateien tatsächlich auch noch geändert, und es ist wichtig, das neueste (Änderungs)datum zu wissen, weil ja zu diesem Zeitpunkt eine Aktualisierung stattgefunden hat?
Und deswegen ist das Erstelldatum unwichtig, weil ja der Inhalt zu dem Zeitpunkt jetzt nicht mehr der Gleiche ist.
In diesem Fall ist für dich das Änderungsdatum interessant.
Hmm, eigtl ist nur das Änderungsdatum ausschlaggebend. Denn beim Erstellen einer Datei sind diese 2 Eigenschaften identisch - also solltest du mit dem Code, wie er ist, zurecht kommen müssen.
Es sei denn, es gibt noch irgendetwas, was ich nicht weiß und was meine Überlegungen zunichte macht :-)
Und dann ist da noch das hier
...die ersten 4 Stellen beinhalten die Jahreszahl...
Ja,, wenn wirklich in jeder Datei die ersten 4 Zeichen das Jahr darstellen, nach dem du auswählen können willst, dann wärst du hier garantiert auf der sicheren Seite.
Aber...
...in diesem Fall müsste bei JEDER Aktualisierung der Liste im Userform JEDE Datei geöffnet werden, Inhalt einlesen + die ersten 4 Zeichen analysiert+ausgewertet werden.
Möglich ist das, keine Frage, aber du kannst dann auch jedes Mal deiner Festplatte beim Rattern zuhören ;-)
Oder sind die Dateien auf einer SSD gespeichert? :-)
Ciao
Thorsten

AW: Endergebnis?
11.04.2014 19:41:18
Guenter
Hallo Thorsten,
---Wo genau ist denn das Problem?
Meine Überlegung:
Nehme ich einen Datensatz und kopiere in wo anders hin, bekommt er ein neues Erstelldatum.
Solange die Dateien an Ort und Stelle bleiben, wird das aber nicht passieren.
Die Datensätze können auch eingelesen und verändert werden, dann ändert sich das Änderungsdatum.
Wäre aber auch vieleicht von Vorteil, wenn dieser Datensatz mit im aktuellem Jahr erscheinen würde.
Also ich änder mal noch nix in dem Code, muss diese jetzige Variante, erstmal testen.
Bis bald,
Günter

hab noch was vergessen
11.04.2014 19:20:46
Oberschlumpf
Hi
...Sollte irgendwie der Ordner im Netzwerk vom Admin mal "verschoben" werden...
Hier könnte man den Code wie folgt anpassen:
1. So, wie in der Bsp-Datei, in Zelle A1 könnte man eine Hilfszelle für den Speicherort verwenden
2. Nach jedem Öffnen der Datei, aber noch VOR dem Klick (oder gern auch direkt nach dem Klick) auf den Button "Load Dataset" wird erst mal geprüft, ob das Verzeichnis in der Hilfszelle noch das gültige Verzeichnis ist
If Dir(Range(A1).Value) & "*.gbr*"  "" Then
'weiter gehts
Else
'Verzeichnis ist nicht mehr gültig, mach was anderes
End If

Und das Andere ist dann das Anzeigen des Ordner Auswahl-Dialoges.
Ok, an dieser Stelle müsstest du dann den Admin gefragt haben, welches nun das gültige Verzeichnis für die gbr-Dateien ist.
4. Ordner Auswahl-Dialog öffnet sich, du wählst das jetzt gültige Verzeichnis, und ein Klick auf OK speichert dieses Verzeichnis wieder in die Hilfszelle.
Wenn das Design/Aussehen deiner Originaltabelle das Benutzen einer weiteren Zelle nicht zulässt, weil dann alles nicht mehr schön aussieht, könnte man...
...ein weiteres, aber verstecktes Tabellenblatt verwenden, in dem dann ja jede Zelle als Hilfszelle verwendet werden könnte
...im selben Verzeichnis, in dem auch die Datei mit dem Code gespeichert ist, eine Textdatei erstellen, in die das aktuell gültige Verzeichnis für die gbr-Dateien gespeichert wird.
Und was sagste nu? :-)
Ciao
Thorsten

AW: hab noch was vergessen
11.04.2014 23:34:14
Günter
Hallo Thorsten,
damit du siehst mit was ich mich beschäftige ;)
ein Bild von meinem Programm, an dem ich seit Anfang 2003 rumarbeite,
Viele Jahre mit Hilfe von meinem Bruder, der seine Excelfähigkeiten testete,
und nun lange schon mit Hilfe von hier.
Userbild
Gruss,
Günter
P.S. Hast du dir mal die Datei von Franz angesehen?

AW: hab noch was vergessen
12.04.2014 10:25:33
Oberschlumpf
Hi Günter
außer viel bunt kann ich auf dem Bild leider sonst nix erkennen - na ja, für ne Hilfszelle scheint kein Platz mehr zu sein.
Aber egal, ja, hab mir Franz seine Datei nun auch angeschaut. Er hat seine Ideen gleich mit eingebaut, ohne immer vorher zu fragen.
Und seine Idee scheint für dich die vllt bessere Variante zu sein.
Hat mir trotzdem Spaß gemacht, zu helfen.
Ciao
Thorsten

finished !
12.04.2014 12:27:15
Günter
Hallo Thorsten,
Ich nehme an, Franz hat unsere "Unterhaltung" auch mitgelesen, und so
nach und nach auch seine Datei erweitern können.
Ich werde auf jedenfall beide Varianten testen, und dann entscheiden.
Wie schon gesagt, deine Dokumentation ist super, und dann dürfte ich keine
Probleme haben, im Code vorgeschlagene Änderungen zu machen.
War echt klasse Arbeit und supernette Unterhaltung,
Weiterhin viel Erfolg wünscht Dir,
Günter

Sorry, noch eine Kleinigkeit
13.04.2014 13:45:19
Günter
Hallo Thorsten,
hab mal in Programm eingebaut, kommt aber ein Fehler im Modul1 bei strDateiname = Dir
ungültiges Argument in der do-Loop-Schleife.
Bei der Datei, die du geschickthast, funktionierts aber. Was muss ich da dringend anpassen?
Und wenn keine Datei im Ordner ist (falsch gewählter Pfad, dann kommt auch ein Fehler).
Bin momentan mit den vielen Pfadanpassungen fast überfordert ;)
Sub sbAll()
Dim strDateiname As String
'On Errors solltest du erst aktivieren, wenn du WEISST, dass der Code funktioniert
'denn sonst gibt es bei Fehler keine Meldungen dazu
'On Error GoTo berechnungxl_err2
Tabelle1.wahldatei = ""
frmSicherungsdateien.lstSicherungsdateien.Clear
strDateiname = Dir(pstrPath & "*.gbr*")
Do
frmSicherungsdateien.lstSicherungsdateien.AddItem strDateiname
strDateiname = Dir
Loop Until strDateiname = ""
berechnungxl_err2:
'  Dim a As CSicherung
'  Set a = New CSicherung
'  a.pfadpruefen
End Sub

Hoffe, du hast die Datei noch?
Gruss,
Günter

AW: Sorry, noch eine Kleinigkeit
13.04.2014 14:11:34
Oberschlumpf
Hi Günter
da ja alles mit meiner Datei funktioniert, weiß ich nicht, wie ich den neuen Fehler forcieren soll.
Kann es vielleicht sein, dass du in der Codezeile, in der pstrPath = "..." den richtigen Speicherpfad erhält, am Ende das "\" vergessen hast?
Ach so, und es darf auch NUR der Pfad an die Variable übergeben werden.

pstrPath = "C:\Temp\" 
Hilfts?
(ne andere Idee hab ich nicht)
Ciao
Thorsten

Läuft prima ;)
13.04.2014 17:59:52
Günter
Hallo,
Hattest recht, der pstrPath wars;
nächste Woche wird mit dem ausführlichen Tests begonnen.
Danke dir,
Günter

Läuft, aber langsam :(
14.04.2014 07:19:13
Günter
Hallo Thorsten,
Erster Test ergeben eine Zeitspanne von 60sec für die Anzeige von allen 2100 Datensätze.
Die Datei, die ich hochgeladen hatte (ohne erweiterte Funktionen) 4sec.
Irgendwo wird jetzt zuviel Zeit verbraucht?
Vieleicht kann man evtl. da nochwas machen?
Gruss,
Günter

AW: Läuft, aber langsam :(
14.04.2014 09:41:33
Oberschlumpf
Hi Günter
a) wie soll ich das denn machen, ohne, dass auch ich 2000+ Datensätze habe? Ich werde jetzt nicht 2100 Dateien kopieren + ins Verzeichnis einfügen. :-)
b) wie schnell läuft denn die Datei von Franz? Hast du das schon mal ausprobiert?
Hmm, eine Idee hab ich vllt doch.
Hast du "meine" Datei mal mit den Originaldateien im Verzeichnis versucht?
Denn ich glaube nicht, dass meine Datei = zur Hauptbenutzungsdatei wird, weil ja in der Bsp-Datei der ganze Erklärungstext von dir drin steht.
Und wenn es mit meiner Datei schneller geht, dann is der "Wurm" in deiner Datei mit meinem Code, aber mein Code sollte in Ordnung sein. Außerdem, vllt is es ja normal, dass es beim Einlesen von über 2000 Dateien etwas länger dauert.
Ciao
Thorsten

Wird schon werden!
14.04.2014 11:09:40
Günter
Hi Thorsten,
Ich sehe schon, nochne Menge Tests!
Die Datei von Franz hab ich noch nicht probiert.
Deine Datei auch noch nicht.
Wird schon werden ;)
Bis dann, irgendwann,
Gruss,
Günter

hier gehts weiter, weil...
14.04.2014 10:34:46
Oberschlumpf
...der Thread sonst rechts ausm Bild "verschwindet" :-)
Hi Günter
Ok, ich versuch es doch mal.
Es liegt an meinem Code.
Hab gerad mal nur ca 500 gbr-Dateien erstellt. Und auch das dauert schon ziemlich lange.
Ich versuch jetzt mal, alle Dateiinfos in ein Array einzulesen. Dazu muss ich aber den kompletten Code umschreiben.
Deswegen....
....gib mir ZEITNAH Antwort, wenn du meine Hilfe nicht mehr benötigst. Dann brauch ich ja auch nicht weiter zu testen.
Wie siehts denn mit Franz seiner Idee aus?
Ciao
Thorsten

Korrektur
14.04.2014 10:43:47
Oberschlumpf
Hi
Wenns auch vllt nicht soo wichtig ist, es sind nich 500 gbr-Dateien, ich hab tatsächlich 2306 per Copy + Paste erstellt...
Ciao
Thorsten

Übeltäter vielleicht gefunden, aber...
14.04.2014 11:10:23
Oberschlumpf
...noch nicht beseitigt (so schnell bin ich auch nich :-) )
Hi Günter
Mein Code ist ja wie folgt aufgebaut:
- Userform wird angezeigt
- die ComboBox für Jahre wird gefüllt
- die ComboBox für Jahre wird sortiert
- die ListBox mit den Dateien wird gefüllt
- die ListBox mit den Dateien wird sortiert
Und genau der letzte Schritt benötigt am meisten Zeit.
Dabei ist es nicht das Auslesen der ListBox in die Arrayvariable arr(), sondern der dann folgende Sortieralgorhytmus.
Dabei handelt es sich um "BubbleSort". Ich weiß nicht, wieso das so heißt, es is einfach so.
Vorteil: BubbleSort ist einfach zu verstehen und gut einsetzbar.
Nachteil: Er braucht hat viel Zeit, was um so mehr auffällt, je mehr Werte sortiert werden müssen.
Ich "bau" das mal so um, dass die ganzen Dateien in eine Hilfstabelle eingefügt werden, dort dann mit Excel-Funktion sortiert werden und dann wieder zurück in die ListBox.
Ich befürchte zwar, das dauert auch lange, aber mal sehen, welches Vorgehen schneller ist.
Ciao erst mal
Thorsten

und schon wieder fertig :-))
14.04.2014 11:30:54
Oberschlumpf
Hi Günter
Ich hab den Sortiercode so umgebaut, wie vorher beschrieben.
Und siehe da, die Excel eigenen Bordmittel sind vieeel schneller als BubbleSort.
Nun dauert der Start an sich und auch das Filtern nach Maschinen und/oder Jahren nur wenige Sekunden - auch mit über 2300 Dateien.
hier die korrigierte Version
https://www.herber.de/bbs/user/90147.xls
Was sagst du dazu?
Ciao
Thorsten

der Fehlerteufel...tztz
14.04.2014 11:44:16
Oberschlumpf
Hi Günter
Ändere in der Sub sortieren mal diesen Code

With ctrcontrol
Sheets("Hilfstabelle").Cells.Delete Shift:=xlUp
For i = 0 To .ListCount - 1
Sheets("Hilfstabelle").Range("A" & i + 1).Value = .List(i)
Next i
End With

um in

With ctrcontrol
Sheets("Hilfstabelle").Cells.Delete Shift:=xlUp
For i = 0 To .ListCount - 1
Sheets("Hilfstabelle").Range("A" & i + 1).Value = .List(i)
Next i
.Clear
End With

Wenn der Befehl .Clear nicht durchgeführt wird, hast du in der Jahres-ComboBox doppelte Einträge.
So, nun sollte die Datei aber wie ne Rakete abgehen, oder? :-)
Huch!
DAS hab ich total vergessen!
Die Tabelle "Hilfstabelle" ist ja immer noch sichtbar.
Das kannst du ändern, indem du Format/Blatt/ausblenden auswählst, oder so...
1. Zeig den VBE an
2. Zeig über Ansicht/Direktfenster das Direktfenster an
3. Gib im Direktfenster diesen Code ein

Sheets("Hilfstabelle").Visible = xlveryhidden

und drück die Entertaste
Wenn du nun wieder Excel anzeigst, ist die Tabelle "Hilfstabelle" "verschwunden".
Und auch über Ansicht/Format/Blatt ist sie nicht einblendbar.
Das geht nur im VBE im Direktfenster mit dem Befehl Sheets("Hilfstabelle").Visible = True
So, jetzt aber, oder? :-)
Ciao
Thorsten

AW: der Fehlerteufel...tztz
14.04.2014 12:50:54
Günter
Hi Thorsten,
Bin momentan auf Arbeit.
Ein- oder zusammenbauen kann ich das nur später zuhause
Beeindruckend, Deine Geschwindigkeit ;)
Bis bald,
Günter

Klar, jetzt aber ;)
14.04.2014 17:49:33
Günter
Hi Thorsten,
hab mit ca. 1500 Datensätzen getestet,
rennt wie ne Rennsemmel :)
Scheint alles ok, bis auf das die Jahre nicht sortiert erscheinen,
fällt aber erst auf, wenn Datensätze von vielen Jahre vorhanden sind.
Ich bau das erst mal wieder ins Hauptprogramm.
Jetzt kannst du dich wieder anderen wichtigen Themen zuwenden.
Ich laß dich, denke ich, vorerst dann mal durchschnaufen ;)
Besten Dank für deine große Hilfe!
Bis demnächst,
Günter

AW: Klar, jetzt aber ;)
14.04.2014 18:01:14
Oberschlumpf
Hi Günter
"...Scheint alles ok, bis auf das die Jahre nicht sortiert erscheinen..."
DAS verstehe ich nicht :-/////
Bei mir sinds, wie gesagt, über 2300 gbr-Dateien!
Laut "manipuliertem" Änderungsdatum handelt es sich um Dateien aus den Jahren 2009,2012,2013 + 2014.
Und genau diese Werte werden zumindest hier wie folgt angezeigt, wenn ich die ComboBox "aufklappe":
welches Jahr
2009
2012
2013
2014
besser sortieren geht nicht :-)
Aber wieso das bei dir nich funzt? ...ich weiß es nich...mist :-///
Ciao
Thorsten

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige