Change-Eigenschaft einer Combobox umgehen

30/12/2008 - 16:59 von Dirk Hennemann | Report spam
Hallo zusammen !

Ich habe folgenden Sachverhalt. In einer Userform befinden sich zwei
Comboboxen. Die eine zeigt die Tage vn 1-31 an, die andere die Monate von
Januar-Dezember. Ich möchte erreichen, dass, wenn ich z.B. Februar auswàhle,
die Tages-Combbox nur noch 28 Eintràge hat, da es einen 31. Februar ja nicht
gibt. Das ist ja auch nicht weiter schwer, die Tages-Combobox hat jedoch
eine Change-Eigenschaft, die direkt aus einer Tabelle diverse Werte ausliest
und in der Userform wiedergibt.
Bisher habe ich die Box immer mit Combobox1.Clear gelöscht und dann mit
einer FOR-Schleife neu eingelesen. Doch auch beim Clear-Ereignis greift ja
die Change-Eigenschaft der Combobox. Da diese dann ja leer ist, produziert
mein Programm immer einen Fehler, da die Box dann den Wert ="" hat (also
nix).

Wie schaffe ich es den Inhalt der Combobox zu löschen und neu aufzufüllen,
ohne dabei das Change-Ereignis auszulösen ???

Danke für die Hilfe.

Gruß

Dirk Hennemann

PS: Das Change-Ereignis wird komischerweise erst beim zweiten Mal ausgelöst,
beim ersten Clear-Ereignis passiert nichts. Ich nutze WinVista und Excel2007
 

Lesen sie die antworten

#1 Wolfgang Habernoll
30/12/2008 - 17:45 | Warnen spam
Hallo Dirk

"Dirk Hennemann" schrieb im Newsbeitrag
news:u%
Hallo zusammen !

Ich habe folgenden Sachverhalt. In einer Userform befinden sich zwei Comboboxen. Die
eine zeigt die Tage vn 1-31 an, die andere die Monate von Januar-Dezember. Ich
möchte erreichen, dass, wenn ich z.B. Februar auswàhle, die Tages-Combbox nur noch
28 Eintràge hat, da es einen 31. Februar ja nicht gibt. Das ist ja auch nicht weiter
schwer, die Tages-Combobox hat jedoch eine Change-Eigenschaft, die direkt aus einer
Tabelle diverse Werte ausliest und in der Userform wiedergibt.
Bisher habe ich die Box immer mit Combobox1.Clear gelöscht und dann mit einer
FOR-Schleife neu eingelesen. Doch auch beim Clear-Ereignis greift ja die
Change-Eigenschaft der Combobox. Da diese dann ja leer ist, produziert mein Programm
immer einen Fehler, da die Box dann den Wert ="" hat (also nix).

Wie schaffe ich es den Inhalt der Combobox zu löschen und neu aufzufüllen, ohne
dabei das Change-Ereignis auszulösen ???

Danke für die Hilfe.

Gruß

Dirk Hennemann

PS: Das Change-Ereignis wird komischerweise erst beim zweiten Mal ausgelöst, beim
ersten Clear-Ereignis passiert nichts. Ich nutze WinVista und Excel2007



steuer das über eine PUBLIC Variable. Setze sie vor dem löschen und im
ComboBox1_Change fragst due sie ab. Etwa so..

Public FLAG As Boolean

Private Sub ComboBox1_Change()
If FLAG Then Exit Sub

'' Dein Code

End Sub

Private Sub CommandButton1_Click()
FLAG = True

UserForm1.ComboBox1.Clear

FLAG = False
End Sub


mfG
Wolfgang Habernoll

[ Win XP Home SP-2 , XL2002 ]

Ähnliche fragen