combobox change-Ereignis wird ausgelöst, jedes mal in excel-VBA
Erhalte ich eine XML, die Daten enthält, gebunden sein combobox. Während der Bindung werden diese Daten jedes mal, wenn ein Element Hinzugefügt wird, um das Kombinationsfeld, dessen change-Ereignis ausgelöst wird. Ich will Feuer change-Ereignis nur nach Daten gebunden ist, und der Benutzer wählt ein beliebiges Element.
Jede Hilfe, code, der dieses problem lösen?
InformationsquelleAutor Akki J | 2012-03-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie eine Flagge, um anzuzeigen, ob oder nicht, Sie wollen das Ereignis behandeln;
InformationsquelleAutor Alex K.
In meiner Erfahrung, das combobox-change-Ereignis wird nur ausgelöst, wenn die änderung der combobox-Liste von Elementen, wenn die combobox den Wert nicht null ist. Wenn dieses problem passiert, wenn du zuerst initialisieren der combobox, nicht das zuweisen eines default-Wert, bis Sie nach dem füllen der combobox.
Wenn Sie müssen, ändern Sie den Kombinationsfeld-Liste zu anderen Zeiten, wie Alex K sagt, erstellen Sie ein Boolesches flag, um anzuzeigen, wenn Sie Sie ignorieren wollen das change-Ereignis.
Ich bin mir nicht klar, aus Ihrer Frage, ob das change-Ereignis wird ausgelöst, sobald Sie füllen Sie die combobox oder einmal für jede
.AddItem
. Wenn es das letztere Problem, dann können Sie reduzieren auf die Anzahl der Ereignisse ändern, indem Sie erstellen ein array der Werte für die combobox und die Zuordnung zu dem Kombinationsfeld.List
.Hier ist ein Beispiel mit einem 2-d array, das füllen der combobox mit den Namen und Pfade aller geöffneten Arbeitsmappen. (Eine 1-d-array funktioniert auch.)
InformationsquelleAutor mischab1