Problem bei der Initialisierung von ListBoxen
09.03.2004 12:42:21
Dieter Klemke
bei der Bearbeitung einer Anwendung mit zwei UserForms bin ich auf ein Initialisierungsproblem bei ListBoxen gestoßen.
Um das Problem einzukreisen, habe ich die Anwendung auf eine UserForm mit zwei ListBoxen (lstMonate und lstFiliale) reduziert.
vgl. Upload:
https://www.herber.de/bbs/user/4159.xls
Die ListBoxen werden in der UserForm_Initialize-Prozedur mit Werten gefüllt, anschließend wird jeweils der 1. Eintrag mit lstMonate.ListIndex = 0 bzw. lstFiliale.ListIndex = 0 ausgewählt.
Wenn ich jetzt - noch innerhalb der UserForm_Initialize-Prozedur - die ausgewählten Listeinträge einem Label zuweise (lblMonAusw = lstMonate.Value bzw. lblFilAusw = lstFiliale.Value), dann tritt ein merkwürdiges Phänomen auf.
Die ListBoxen werden zwar initialisiert, die Werte lstMonate.Value bzw. lstFilialen.Value sind aber in der Initialisierungs-Prozedur nicht sicher verfügbar.
Es zeigt sich ein wiederholbares merkwürdiges Verhalten:
- "Monatsbericht (Problem)" aufrufen
- unerwarteterweise hat nur eines der beiden Labels unterhalb der zugehörigen ListBoxen einen Wert
- nach Belieben: Auswahl oder keine Auswahl aus den ListBoxen treffen
- "Abbrechen" oder "Bericht erstellen" anklicken
- Arbeitsmappe speichern
- erneut "Monatsbericht (Problem)" aufrufen
- jetzt hat das andere Label keinen Wert
Wenn die Arbeitsmappe nicht gespeichert wird, wechselt der nicht vorhandene Wert nicht!
Das Problem läßt sich dadurch umgehen, dass man die folgenden Zuordnungen verwendet (vgl. "Monatsbericht (kein Problem)"):
lblMonAusw = lstMonate.List(lstMonate.ListIndex)
lblFilAusw = lstFiliale.List(lstFiliale.ListIndex)
Damit läßt sich sicherlich leben.
Mich interessiert aber, ob es sich hier um einen Bug handelt oder ob ich etwas grundsätzlich falsch mache.
Über eine Anwort würde ich mich freuen.
MfG
Dieter