Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
260to264
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
260to264
260to264
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ereignisproblem mit Listbox in Userform

Ereignisproblem mit Listbox in Userform
23.05.2003 19:35:29
Jens_Pu
Hallo Excelfreunde,

in einer Userform habe ich eine Listbox.

Erst mal mein Code:



Private Sub CommandButton1_Click()
  Unload Me
End Sub


Private Sub ListBox1_Change()
  MsgBox ("Change")
End Sub


Private Sub UserForm_Initialize()
  Application.EnableEvents = False
  With ListBox1
    .ColumnCount = 1
    .RowSource = "A1:A10"
    .MultiSelect = fmMultiSelectMulti '<---- Hier Sprung zu ListBox1_Change
  End With
  Application.EnableEvents = True
End Sub


     Code eingefügt mit Syntaxhighlighter 2.1

Wie kann es sein, dass da das Change-Ereignis beim Initialisieren aufgerufen wird?
Habe ich da einen Denkfehler oder macht Excel da was falsch?

Gruss Jens

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Ereignisproblem mit Listbox in Userform
23.05.2003 19:44:22
Georg_Zi

Hallo Jens

das ist normal. Setze bei Initialize eine variable auf True und überprüfe bei Change ob variable = True. Setze Sie am ende wieder auf False.

Gruß Hajo

Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Re: Ereignisproblem mit Listbox in Userform
23.05.2003 19:50:40
Jens_Pu

Hallo Hajo,

das ist normal? Aber unlogisch! Kleinweich?

Ist das nur bei Excel 97 so, oder auch bei den neueren Versionen?

Gruss Jens

Re: Ereignisproblem mit Listbox in Userform
23.05.2003 19:54:30
Georg_Zi

Hallo Jens

du führtst doch mit

.MultiSelect = fmMultiSelectMulti '<---- Hier Sprung zu ListBox1_Change

eine selection aus. Das ist auch unter XP so.

Gruß Hajo

Der Code wurde getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Anzeige
Re: Ereignisproblem mit Listbox in Userform
23.05.2003 19:58:51
Jens_Pu

Hallo Hajo,

ich dachte ich lege eine Eigenschaft fest?

Und mit Application.EnableEvents = False dachte ich das Auslösen des Ereignisses Change abzufangen.

Habe ich wirklich noch so wenig begriffen?

Gruss Jens

Re: Ereignisproblem mit Listbox in Userform
24.05.2003 02:34:52
L.Vira

EnableEvents hat keine Wirkung in userforms!

Re: Ereignisproblem mit Listbox in Userform
24.05.2003 02:44:28
L.Vira

Im Deklarationsteil(noch über der ersten Sub oder Function eine
Boolsche Variable, also z.B.
Dim gesperrt as Boolean

Private Sub ListBox1_Change()
If gesperrt then exit sub
MsgBox "Change"
End Sub

Private Sub UserForm_Initialize()
gesperrt = true
With ListBox1
.ColumnCount = 1
.RowSource = "A1:A10"
.MultiSelect = fmMultiSelectMulti '<---- Hier Sprung zu ListBox1_Change
End With
gesperrt = false
End Sub

Das Change- Ereignis wird durch RowSource ausgelöst.


Anzeige
Re: Ereignisproblem mit Listbox in Userform
24.05.2003 07:17:44
Jens_Pu

Hallo L.Vira,

aha, das wusste ich noch nicht. Habe ich auch noch nirgends gelesen. Wieder was gelernt.
Danke.

Gruss Jens

Re: Ereignisproblem mit Listbox in Userform
24.05.2003 07:22:29
Jens_Pu

Hallo L.Vira,

das habe ich nach dem Hinweis von Hajo auch schon so gemacht.

"Das Change- Ereignis wird durch RowSource ausgelöst."
Das tut es nicht. Es ist wirklich MiltiSelect.
Wenn ich MultiSelect rausnehme, kommt kein Change.
Ist aber jetzt egal, ich mach es ja jetzt mit der Variablen.

Gruss Jens

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige