Clever-Excel-Forum

Normale Version: Probleme im VBA mit Combobox
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen zusammen,

ich habe schon wieder ein Problem mit dem VBA Code.

In meiner Tabelle im Tabellenblatt "Auftrag AM Döbeln" kann ich über ein Formularsteuerelement die UserForm6 öffnen (Neuen Auftrag anlegen).

In der UserForm gibt es ganz unten 2 Comboboxen: ComboBox3 (Invt.Nr.) und ComboBox4 (Kennzeichen) und eine TextBox (TextBox38)

Fall 1:

Wenn in der ComboBox3 eine Invt.Nr. ausgewählt wird, soll entweder die ComboBox4 leer bleiben, wenn kein Kennzeichen zur passenden Invt.Nr. gefunden wird, oder das Kennzeichen eingetragen wenn es vorhanden ist.

Fall 2:
Wenn in der ComboBox4 ein Kennzeichen ausgewählt wird, soll dann die passende Invt.Nr in der ComboBox3 erscheinen.

Fall 3:
Beide ComboBoxen haben keinen Inhalt, dann soll der Inhalt der TextBox ausgegeben werden.

Die Ausgabe soll im Tabellenblatt "Auftrag AM Döbeln" in der Zelle "A32" erfolgen.

Aktuell geht das schon recht gut, nur spingt die Liste in der ComboBox3 immer mal wieder zur ersten Invt.Nr. und ich weiß nicht wieso?!

Ich hoffe Ihr könnt mir helfen.

Vielen Dank schonmal im voraus.

Liebe Grüße Robbie1985

PS: Kann man den Code irgendwie anpassen, dass man in dem DorpDown Menü der ComboBoxen srollen kann???

Passwort:
VBA = %001tseT
Tabellenblätter = Test100%
Hallöchen,

mal allgemein, wenn Du per Code die Combos bearbeitest könnte es durchaus sein, dass Du damit die Click-Ereignisse auslöst und es dadurch zu Fehlinhalten kommt. Du müsstest ir was einfallen lassen, z.B. EnableEvents ausschalten oder, wenn das nicht greift, mit Variablen arbeiten. Du könntest auf Modulebene eine Variable deklarieren und bevor Du z.B. eine Combo angreifst die Variable auf Flase setzen unsd im Click-Ereignis der angegriffenen Combo die variable prüfen und ggf das Click-Makro verlassen. Im Prinzip


Option explicit
Dim boClick1 as boolean, boClick2 as boolean

Private Sub Combobox1_Click(..)
if boclick2 = true then Exit sub
boClick1 = true
'Combo 2 anfassen
'...
boClick1 = false
End Sub

Private Sub Combobox2_Click(..)
if boclick1 = true then Exit sub
boClick2 = true
'Combo 1 anfassen
'...
boClick2 = false
End Sub