Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1548to1552
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

ComboBox (ActiveX) gegenseitig zurücksetzen

ComboBox (ActiveX) gegenseitig zurücksetzen
29.03.2017 10:36:41
Marsch

Hallo zusammen,
unter https://www.herber.de/bbs/user/112498.xlsm
findet ihr die entsprechende Datei.
Ich habe folgende Problemstellung, bei der ich nicht weiterkomme.
Ich habe mehrere ComboBoxen die später Werte als Variablen zur Verfügung stellen.
Es gibt für jede ComboBox einen Wert der ein Standardszenario widerspiegelt, der sich jeweils an der 3. Stelle der Liste wiederfindet (hier der Wert 20).
Es soll aber maximal eine Variable veränderbar sein, sprich, wähle ich in einer ComboBox einen Wert abweichend vom Standardszenario (also abweichend vom 3. Wert der Liste), sollen alle anderen auf ihren Standardwert zurück springen.
Dies habe ich aktuell gelöst, indem ich den Listenindex quasi manuell überschreibe.
Da dieses Makro aber durch Combobox_change ausgelöst wird und eine Veränderung des Listenindex in den anderen Comboboxen auf deren Seite wieder das Makro auslöst habe ich hier einen Kreislauf,d er dazu führt, dass ich in den Zielzellen B8 und D8 letzendlich nicht den richtigen Wert habe.
Fällt euch eine Lösung ein, wie ich das Problem anders anpacken kann?
Denn auch mit Combobox.ListIndex, oder .Value, oder Application.EnableEvents = false bin ich nicht zum Ziel gekommen.
Eine eventuell wichtige Anmerkung:
Die Listenelemente sind später dynamisch. D.h. ich kann hier nicht mit den fixen Werten der Tabelle arbeiten. Die Anzahl der Listenelemente bleibt jedoch gleich, deshalb der Umweg über den Listenindex.
Ich freue mich auf eure Antworten und hilfreiche Ansätze und danke euch im Voraus!
Lieben Gruß
Marsch

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox (ActiveX) gegenseitig zurücksetzen
29.03.2017 13:30:01
ChrisL
Hi Marsch
Option Explicit
Public b As Boolean
Private Sub ComboBox1_Change()
If b = False Then
b = True
ComboBox2.ListIndex = 2
b = False
End If
End Sub
Private Sub ComboBox2_Change()
If b = False Then
b = True
ComboBox1.ListIndex = 2
b = False
End If
End Sub

cu
Chris
AW: ComboBox (ActiveX) gegenseitig zurücksetzen
29.03.2017 14:18:41
Marsch
Hallo Chris,
perfekt! Das funktioniert ja doch einfacher als gedacht. So ist das, wenn man eigentlich keine Ahnung hat.
Damit ich dabei auch lerne und nicht nur blöd kopiere - kannst du mir in 2 Zeilen nochmal verbalisieren, was da passiert? Ich verstehe es in soweit, dass per boolean-Variable eine Wahr/Falsch Prüfung abläuft, aber wieso und in welcher Form und was passiert dann?
Ich bekomme das gerade nicht hintereinander.
Vielen lieben Dank dir auf jeden Fall schon einmal !
Anzeige
AW: ComboBox (ActiveX) gegenseitig zurücksetzen
29.03.2017 15:42:08
ChrisL
Hi Marsch
Eigentlich wäre es ein Fall für EnableEvents, aber das scheint bei ComboBox_Change nicht zu wirken, darum die Umgehungslösung.
If b = False Then... Der Code wird nur abgespielt, wenn die Variable auf False ist. Darum stelle ich die auf True, damit bei Änderung des Index-Wertes der anderen Combobox der Code nicht abgespielt wird.
cu
Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige