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.

Informationen in Userform laden und überschreiben
#21
Hallo Atilla,

ja das mit dem Überschreiben hat am Anfang noch gut funktioniert. Aber inzwischen passt das natürlich auch nicht mehr. Wie genau der Part funktionieren soll weiß ich noch nicht :s
Aber zunächst möchte ich erstmal das laden in die UserForm fehlerfrei haben, denn das ist notwendig für die spätere Veränderung...

Liebe Grüße
Jan
Antworten Top
#22
Hallo Jan,

Das sind zu viele Möglichkeiten und alle müssten im Code einzeln bearbeitet bzw berücksichtigt werden.
Das kann sehr aufwendig bis nicht möglich sein.

In solchen fällen arbeite ich mit einer Listbox.
Folgeadermassen würde ich dann vorgehen:

Nach Auswahl der Comboboxen für Tabelle und Kunde können alle zugehörigen Datensätze in die Listbox gelesen werden.
Wenn in weiteren Combos Auswahlen getätigt werden, wird die Listbox entsprechend der gefundenen Werte neu gefüllt.

Anders erklärt, Du erhältst dann in der Listbox gefilterte Daten.
Du kannst dann per DoppelKlick in eine Zeile der Listbox diese in die entsprechen Textboxen einlesen.

Also mach Dir mal Gedanken darüber.  Wenn es in Frage kommt, dann bau in Deiner Userform eine Listbox ein.
Der Ablauf des Ganzen müsste natürlich neu programmiert werden. Zum Filtern würde ich den Spezialfilter einsetzen, der die Filterergebnisse
in eine separate Tabelle kopiert. Von dort würden sie dann in die Listbox eingelesen.

Dein bisheriger Code zum einlesen und zurückschreiben würde wegfallen und neu geschrieben werden müssen.

Das hört sich aufwendig an, aber ist relativ einfach zu programmieren und ist auch sehr gut handzuhaben.


Schau mal unter folgendem Tread, da hatte ich schon mal etwas ähnliches aufgebaut:

Mit Userform Daten anzeigen und zurückschreiben

Lad  Dir dort mal aus den letzeten Beiträgen eine Datei runter und schau sie Dir an.


Sehe gerade, dass da nicht alles drin ist, was ich meinte.

Aber unter folgendem Link ist die Datei, in der einiges enthalten ist.

http://www.clever-excel-forum.de/attachm...p?aid=1047

Du musst Tabelle Hauptmenü auswählen und dort die Schaltfläche Bestellungen Suche betätigen.
Dann  einfach in den Combos etwas auswählen und wenn in der Listbox etwas angezeigt wird Doppelklick auf eine Zeile in der Listbox und beobachten.
Gruß Atilla
Antworten Top
#23
Hallo Jan,

ich kann Atilla nur zustimmen. Ich hatte ja auch schon weiter oben geschrieben, dass nach einer eindeutigen Zeile gesucht werden muss.
Eventuell könnte man da auch mit der Firma anfangen und schauen, ob die Daten in den nächsten Spalten mit den Inhalten der Comboboxen übereinstimmen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#24
Hallo,

ich werde den Vorschlag mit der Listbox mal versuchen umzusetzen!!
Aber vorweg muss ich was bzgl. der Machbarkeit fragen:
Ich würde, wie vorgeschlagen, 2 CB machen die nach Tabelle und Kunde sortiert und dann alle Möglichkeiten automatisch in meiner Listbox anzeigen lassen. Dann per Doppelklick auf die entsprechnde zeile und zack.
Die Sache dabei: ich habe ja auch eine sehr große Menge an Textboxen in Form von über 100 Stückzaheln (sind ja in meinen hochgeladenen Mappen auch vorhanden). Wenn die ALLE in der Listbox angezeigt werden, ist das rein optisch ja nicht sehr gut, da man sehr weit nach rechts scrollen kann. Kann man das auch so einstellen, dass in der Listbox z.B. nur Bauteilbezeichnung, RFQ-Nummer und Kundenteilenummer angezeigt wird. Ich klicke auf die entsprechende Zeile und alles (also unteranderem auch die Stückzahlen) werden in meine Textboxen eingetragen??

Liebe Grüße
Jan
Antworten Top
#25
Hallo Jan,

Bin jetzt am Handy, deshalb nur kurz:
In die Listbox können unterschiedliche Spalten eingelesen werden.
Nach Doppelklick sollten dann entsprechende Textboxen wie bisher ausgefüllt werden.

Heute Abend kann ich Dir gerne bei der Umsetzung helfen.
Gruß Atilla
Antworten Top
#26
Hallo Jan,

ich habe jetzt Deine zuletzt eingestellte Datei so angepasst, dass sie ohne große Änderungen im Code und der Userform funktionieren sollte.
Dazu habe ich in Deinen Tabellen vor der Spalte A eine neue Spalte eingefügt. In der habe ich per Verknüpfung die Inhalte der Zellen B-E eingetragen (per Formel)
Diese Spalte dient zur genauen Identifizierung der Zeile also eine Art ID, wie auch die Überschrift deutlich macht.

Damit es auch richtig funktioniert, habe ich auch in den Ereignismakros der Comboboxen eine kleine Änderung vornehmen müssen.
In die Combos werden nur nicht leere Zellen eingelesen.

Anbei Deine eingestellte Datei mit den Anpassungen im Code und in der Tabelle.


.xlsm   Versuch-222.xlsm (Größe: 97,95 KB / Downloads: 10)
Gruß Atilla
Antworten Top
#27
Guten Morgen Atilla,
danke erstmal für deine Mühe!

Ich habe mir die Datei mal angeschaut und 1, 2 Fragen an Dich:

-Wofür ist die ListBox in der UserForm?

-
Code:
'Private Sub ComboBox2_Change()
'  Dim lngZ As Long
'  If Me.ComboBox6.ListIndex > -1 Then
'    With Sheets("Filter")
'      lngZ = Application.Max(2, .Cells(.Rows.Count, 1).End(xlUp).Row)
'      .Range(.Cells(2, 1), .Cells(lngZ, 4)).Clear
'      .Cells(2, 1) = Me.ComboBox2.Text
'    End With
'    End If
'End Sub
Diesen Code als Anmerkung verstehe ich leider auch nicht

-Wieso kann der Code trotz ID nicht zwischen 2 Zeilen unterscheiden, wenn alle Bezeichnungen (Kunde, Bauteilbezeichnung,RFQ-Nummer) gleich sind und NUR die Kundenteilenummer sich unterscheidet?
--> habe ich schon selbst herausgefunden. Ich habe einfach an das Ende der Formel in der Spalte ID ein #-Zeichen gemacht (=B3&"#"&C3&"#"&D3&"#"&E3&"#") und das dementsprechend in meiner UF angepasst.

Liebe Grüße
Jan
Antworten Top


Gehe zu:


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