![]() |
Betrifft: Combobox Ereignis
von: Jörg
Hallo zusammen,
folgendes Problem:
Beim öffnen eines Userform werden in eine Combobox Werte zur Auswahl eingelesen.
Wenn ein Wert ausgewählt wird soll eine Prozedur ausgeführt werden (Private Sub Combobox1_change () ). Leider wird die Prozedur schon beim füllen ausgeführt. Denke, daß dies schon einem change entspricht.
Wie kann ich die Prozedur ansteuern ohne, daß das erste Füllen von Werten berücksichtigt wird?
Mit freundlichen Grüssen
Jörg
![]() |
Betrifft: AW: Combobox Ereignis
von: Bertram
Geschrieben am: 05.05.2008 15:54:34
Hallo Jörg,
bevor du die Box befüllst, schreibe Application.EnableEvents = False und danach Application.EnableEvents = True
Gruß
Bertram
![]() |
Betrifft: das ist falsch
von: Rudi Maintaire
![]() |
Betrifft: AW: das ist falsch
von: Bertram
Geschrieben am: 05.05.2008 16:14:07
Hallo Rudi,
das wußte ich noch nicht. Hab's bisher nicht gebraucht. Hab's gerade ausprobiert und siehe da....Du hast Recht:-)
Danke für die Korrektur.
Gruß
Bertram
![]() |
Betrifft: AW: Combobox Ereignis
von: Nico
![]() |
Betrifft: AW: Combobox Ereignis
von: Rudi Maintaire
Geschrieben am: 05.05.2008 16:00:23
Hallo,
etwa so:
Option Explicit
Dim blnInit As Boolean
Private Sub ComboBox1_Change()
If blnInit = False Then
'Code
End If
End Sub
Private Sub UserForm_Activate()
blnInit = True
'code zum Befüllen der CB
blnInit = False
End Sub
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
![]() |
Betrifft: AW: Combobox Ereignis
von: Renee
Im Initialize oder Activate der Userform:
ComboBox1.Tag = "X"
...dann abfüllen ... und ListIndex setzen ;-)
ComboBox1.Tag = ""
In der ComboBox:
Sub ComboBox1_Change()
If ComboBox1.Tag = "X" then Exit Sub
....weitere change Befehle
GreetZ Renée
![]() |