Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
928to932
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
928to932
928to932
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

@ Christian M

@ Christian M
26.11.2007 06:31:52
Vinz
Hallo Christian,
nachdem Du mir bei meinem letzten Problem so hervorragend geholfen hast, versuche ich es auf diesem Weg, Dich erneut zu erreichen. Wenn Du Zeit hast, könntest Du Dir bitte mal diesen thread anschauen ...
https://www.herber.de/forum/messages/929281.html
Gruß
Vinz

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: @ Christian M
26.11.2007 08:40:00
fcs
Hallo Vinz,
bei bis zu 30000 Datenzeilen wird jede Filteraktion in Excel zu einem Geduldsspiel.
Deine beschrieben Aufgabenstellung in dem Fomular umzusetzen führt zu einem extrem rechenaufwendigen/zeitbedürftigem Makro. Die Textstrings müssen bei jedem SUchvorgang in ihre Bestandteile zerlegt und in entsprechenden Arrayvariablen gespeichert werden, um dann die eingestellten Filter abzuarbeiten.
Meiner Meinung nach solltest du im Blatt Übersicht nach dem Import neuer Daten in separaten Spalten das Datum (dieses steht momentan als Datum Zeit in einem textformat in der Tabelle) -ggf. zusätzlich auch Monat und Jahr- und die einzelnen Bestandteile der G- und Inv-Nummern eintragen. Das geht entweder per Makro oder per Formel. Makro ist wohl die bessere Lösung, um die erforderliche Rechenleistung im Blatt klein zu halten.
Jetzt kann man mit den Autofilterfunktionen (benuzerdefiniert) einen Großteil der Suchfunktionen durchführen. Der Vorteil dieser Lösung ist, dass die ständigen Neuberechnungen der Daten für die Auswertung entfallen und das der Autofilter schneller arbeitet als jede makrobasierte Lösung. Den Übertrag der Daten in das Blatt gefilterte Daten muss du dann gf. etwas ändern.
Als Erleichterung für die Anwender könnte man ggf. das Userform zur Eingabe der Filterkriterien und das Setzen der Filter anwenden. Das macht es aber einer Meinung mach unnötig kompliziert.
"Nur" für die freie Textsuche müsste man sich etwas überlegen, wobei hier dann wahrscheinlich die Suchfunktion von Excel das geeignete Werkzeug ist.
Gruß
Franz

Anzeige
AW: @ Christian M
26.11.2007 20:28:29
Vinz
Servus Franz,
danke für Deine Antwort. Genau wegen der Menge an Daten wollte ich ja die "Ursprungsdatei" nur auf die Wichtigen für den Anwendungsfall reduzieren. Einige meiner Kollegen sind schon froh, wenn sie den Einschaltknopf am Rechner richtig bedienen können. ;-)) Was ich damit sagen will ... es klappt leider nur mit einem "Rundum-Sorglos-Paket" ...
Die Daten kommen von einem eigenen System, die kann ich mir nur in dieser Form nach Excel konvertieren lassen, da kann ich leider keinen Einfluss drauf nehmen.
Ich seh schon, ich glaube, hier kann mir ausnahmsweise niemand helfen ...
Mir ist da was eingefallen, was ich mal probieren muß ... über scripting.directory könnte es machbar sein .... ist um einiges schneller als ein Array ... (das hat mir Christian M mal gezeigt) mal sehen, ob ich morgen dazu komme und das hinkriege ... dass ich da nicht gleich draufgekommen bin ...
Mal sehen, ob es funktioniert ... wäre natürlich der Hammer ...
Greetz
Vinz

Anzeige
AW: @ Christian M
27.11.2007 10:57:00
fcs
Hallo Vinz,
das Probleme ist nicht, dass keiner helfen kann sonder hier eine Lösung zu finden, die möglichst effektiv die in EXCEL vorhandenen Bordmittel einsetzt. Dabei ist der Autofilter oder ggf. auch der etwas schwieriger zu handhabende Spezialfilter ein sehr gutes Werkzeug.
Diese beiden Filter lassen sich in deinem Fall aber nur effektiv einsetzen, wenn die Kennzahlen in ihre Bestandteile zerlegt und in getrennten Spalten eingetragen werden.
Dazu dann noch folgender Vorschlag:
1. Import der Daten in eine Tabelle wie gehabt
2. Übertragen der Original-Daten in eine 2. Tabelle und aufbrechen der Kennzeichnungen in die Einzelteile
und einfügen der Teile in zusätzliche Spalten. Dies geht gut per Makro.
Dabei muss du noch festlegen, ob die nummerischen Teile in den Kennzeichnungen als Text oder als Zahlen verwaltet werden sollen. Für von-bis-Filter sind in Excel zwingend Zahlen erforderlich, dies ermöglicht dann Filter wie ist gleich, ungleich, größer, kleiner, größer oder gleich, kleiner oder gleich. Für Text-Filter ist von-bis nicht möglich, diese filtern dann nach ist gleich, ungleich, enhält, enthält nicht, beginn mit, beginnt nicht mit, endet mit, endet nicht mit. Zusätzlich kann man in Textfiltern die Joker "?" und "*" verwenden. Der benutzerdefinierte Filter bietet zusätzlich die Möglichkeit zwei Filterkriterien per UND oder ODER zu verknüpfen.
3. Der/Die Filter werden dann in der 2. Tabelle gesetzt, wobei man ggf. das Userform als Eingabemöglichkeit anbietet. Eine intensive Kurzschulung zum Einsatz des Autofilters dürfte hier allerdings auf die Dauer mehr Erfolg bringen. Insbesondere auch dadurch, dass man sich mit dem Setzen der Filter schrittweise an das gewünschte Endergebnis heranarbeitet und das Zwischenergebnis angezeigt bekommt.
4. Per Button-Klick werden dann die gewählten/gefilterten Datensätze in die Ausgabetabelle übertragen.
Das Rundum-Sorglos-Paket zu kreieren wird auch nicht ganz einfach, denn du muss in dem Userform alle möglichen Eingabevarianten abfangen und einer kontrollierten Fehlerbehandlung unterziehen und entsprechende Hinweise für deine zum Teil unerfahrenen Excel-Anwender anzeigen.
Gruß
Franz

Anzeige
AW: @ Christian M
28.11.2007 05:38:14
Vinz
Servus Franz,
Du hast durchaus Recht. Die Erfahrung zeigt, dass es leider bei manchen Kollegen nicht funktioniert, weil sie einfach kein Interesse haben, sich das anzueignen. Ich habe zu den grundlegendsten Sachen geschult ... quasi zum "täglichen Brot", aber sie wenden es einfach nicht an und wenn sie das gewünschte Ergebnis nicht erhalten, stehen sie wieder mit den selben Fragen wie letzte Woche auf der Matte ... aber genug davon.
Die Userform dient nur der Eingabe der Suchkriterien. Die auszuwertende Tabelle kommt von einer anderen Abteilung. unterschiedliche Schreibweisen in der Tabelle kommen nur bei der VNr vor, da werde ich wohl die 3 Möglichkeiten separat abfragen.
Danke für Deine Tips, vor allem für die Sache mit dem von-bis-Filter bezüglich der Buchstabenanteile im Suchbegriff ... da wäre ich bestimmt wieder grob gestolpert. ;-)
Ich bin gerade dabei, was zu testen, ist zwar nicht schön, aber funktioniert schon mal grundlegend. aber ich sehe schon, das wird noch ein weiter Weg ...

Sub Textboxen_auswerten()
Dim ctrl As Control
Dim n As Integer
'Dim Datum1, Datum2 As Date
Dim Datum1, Datum2, InvNr1, InvNr2, GNr1, GNr2, VNr, FTF As String
For Each ctrl In filterMaske.Controls
If TypeName(ctrl) = "TextBox" Then
If ctrl.Text = "" Then
For n = 1 To ctrl.MaxLength
ctrl.Text = ctrl.Text & "?"
Next
End If
End If
Next
With filterMaske
Datum1 = .Datum11.Text & "." & .Datum12.Text & "." & .Datum13.Text
Datum2 = .Datum21.Text & "." & .Datum22.Text & "." & .Datum23.Text
MsgBox (Datum1 & Datum2)
InvNr1 = .InvNr11.Text & .InvNr12.Text & .InvNr13.Text & _
.InvNr14.Text & .InvNr15.Text & .InvNr16.Text
InvNr2 = .InvNr21.Text & .InvNr22.Text & .InvNr23.Text & _
.InvNr24.Text & .InvNr25.Text & .InvNr26.Text
MsgBox (InvNr1 & InvNr2)
GNr1 = .GNr11.Text & .GNr12.Text & .GNr13.Text & _
.GNr14.Text & .GNr15.Text & .GNr16.Text
GNr2 = .GNr21.Text & .GNr22.Text & .GNr23.Text & _
.GNr24.Text & .GNr25.Text & .GNr26.Text
MsgBox (GNr1 & GNr2)
VNr = .VNr1.Text & .VNr2.Text & .VNr3.Text & .VNr4.Text
MsgBox (VNr)
FTF = .FF.Text
MsgBox (FTF)
End With
End Sub


Greetz
Vinz

Anzeige
AW: @ Christian M
28.11.2007 16:44:59
fcs
Hallo Vinz,
ich hab mal in deine Datei eine entsprechende Aufbereitung der Daten für optimierte Nutzung der Autofilterfunktion eingebaut.
Das Blatt Import enthält die aus dem System übernommen Daten.
Im Blatt Übersicht sind die Daten aufbereitet. Dafür gibt es das Makro "ImportNachUebersicht". Dieses Makro kopiert die Daten aus dem Blatt Import und fügt sie am Ende der Liste im Blatt Übersicht ein. Anschließend werden das Datum und die beiden Kennziffern aufbereitet und in den Spalten A bis P eingetragen.
Nach dem Setzen der Filter werden auf Button-Klick die sichtbaren Daten ins Blatt gefiltert übertragen.
Für die freie Suche hab ich ebenfalls etwas eingebaut.
https://www.herber.de/bbs/user/48115.xls
Am Userform hab ich noch nichts angepackt. Hier würde ich dir weiterhelfen, sobald die Form und gewünschte Auswertung im Blatt "Übersicht" steht.
Die Auswertung der UF-Eingaben wird ja doch recht komplex, da für fast alle Eingaben geprüft werden muss, ob eine Eingabe vorhanden ist und wenn ja ob eine von-bis Eingabe vorhanden ist und ob bei den Textfeldern nur ein Teilstring eingegeben/auszuwerten ist.
Aber bevor du dir bei der Programmierung des Userforms einen abbrichts, solltest du den unwilligen/nicht lernfähigen? Anwendern doch die Funktion des Autofilters nahebringen. Es ist ja nicht so viel schwieriger den Autofilter auszufüllen als das Formular ordentlich auszufüllen.
Gruß
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige