Hallo liebe VBA-Experten,
ich habe eine Frage an euch und hoffe ihr könnt mir helfen.
Ich möchte mit einer UserForm meine bereits vorhandenen bzw. neu eingetragenen Informationen überschreiben.
Ich habe das Layout dazu mal gemacht, damit man sich das besser vorstellen kann.
CB1 soll alle Arbeitsblätter anzeigen. Wähle ich eines aus, sollen in CB2 alle bisher eingetragenen Kunden in dem jeweiligen Arbeitsblatt angezeigt werden (Es kommen aber noch neue Kunden dazu, daher muss die ComboBox automatisch aktualisiert werden). Wenn ich CB2 ausgewählt habe, sollen wiederum in CB3 die dazugehörigen Bauteilbezeichnungen angezeigt werden. Und letztendlich mit CB4 die RFQ-Nummer. Diese 4 Auswahlmöglichkeiten geben eine eindeutige Zeile in meiner Exceltabelle an.
Mal als Bsp: CB1
Auswahlmöglichkeiten: NOV WS; Nov Integral;
Ich wähle aus: NOV WS CB2
Auswahlmöglichkeiten: Daimler; Valeo
Ich wähle aus: Daimler CB3
Auswahlmöglichkeiten: Absorber; BR 213 Boden
Ich wähle aus: Absorber CB4
Auswahlmöglichkeiten: 8SMER1301; 8SMER1302
Ich wähle aus: 8SMER1301
Anschließend klicke ich auf einen Button: Informationen laden
damit werden alle Infos aus der Zeile endsprechend in die dafür vorgesehenen Text und Comboboxen eingetragen (auch die Stückzahlen im 2. Reiter). Nun kann ich die Infos beliebig ändern und mit einem 2. Button "überschreiben" in meine Tabelle an der entsprechenden Stelle ändern.
Sorry ist etwas länger geworden und evtl auch etwas zu umfangreich. Aber vllt könnt ihr mir ja trotzdem helfen!
Ich bedanke mich schon mal recht herzlich.
Guten Morgen Schauan,
zum Teil ist sie beantwortet. Ich hatte die Frage in mehrere Foren relativ zeitnah gestellt und wurde darauf aufmerksam gemacht, wie ungünstig das ist. Daher habe ich sie vorerst als erledigt gesetzt, dass sich keiner unnötige Mühen macht!
Mein Grundgerüst steht, leider gibt es noch einen kleinen Fehler:
Ich lade meine Werte aus den Zellen ja in meine Text- und ComboBoxen. Wenn die Zelle, die eine ComboBox füllen soll, leer ist, öffnet sich der Debugger. Wieso verstehe ich, aber lösen kann ich es nicht.
Ich habe es ganz simpel mit
Code:
.AddItem = ""
versucht. Das wäre aber wohl zu einfach gewesen...
in Deiner Beispielmappe lädst Du nur im Code definierte Daten. Sowohl das Hinzufügen eines Leerstrings als auch des Inhalts einer leeren Zelle funktioniert. Du müsstest genau angeben, wann bzw. wo das passiert.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
zunächst ein mal habe ich die aufeinander aufbauenen ComboBoxen um "Kunden Teilenummer" erweitert. Dies war nötig, um eine 100% genaue auswahl zu finden.
Daraufhin ist mir ein weiteres Problem aufgefallen:
Zu jedem Kunden wird einer Bauteilbezeichnung, RFQ-Nummer und Kunden Teilenummer zugeordnet.
Einen Kunden, sowie eine Bauteilbezeichnung gibt es immer! Es gibt jedoch die Fälle, dass entweder:
-RFQ-Nummer und Kunden Teilenummer vorhanden sind,
-nur die Kunden Teilenummer vohanden ist,
-nur die FRQ-Nummer vorhanden ist.
Wenn, wie in meiner Bsp.-Datei, bei 2 Kunden (siehe NOV WS - Daimler - Absorber) keine Kunden Teilenummer vorhanden ist, kann das Programm nicht zwischen den UNTERSCHIEDLICHEN RFQ-Nummern unterscheiden. Zur Erklärung:
Fülle ich die UserForm wie folgt aus Werk/Schaumart = NOV WS; Kunde = Daimler; Bauteilbezeichnung = Absorber; RFQ-Nummer = 8SMER1301
dann wird die Falsche Zelle übertragen.
Obwohl die RFQ-Nummer eindeutig ist. Ich vermute, dass wenn die Kunden Teilenummer (also die letzte ComboBox in meiner Verkettung der insgesamt 5 ComboBoxen) nicht gefüllt ist, sucht er die letzte beschriebene Zeile (egal welcher Kunde, Bauteilbezeichnung etc. ausgewählt wurde), in der die Zelle D leer ist und überträgt sie!
Vllt versteht ihr mein Problem bzw. könnt es nachvollziehen, wenn ihr mit meiner UserForm die von mir oben beschriebenen Schritte nachgeht.
wenn Du bei leerer Teilnummer nach der RFQ-Nummer suchen willst, musst Du das entsprechend programmieren.
Prinzip:
Wenn Teilenummer nicht leer, dann
suche nach teilenummer
sonst
suche nach rfq-nummer
ende wenn
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)