Verwenden von Excel 2010 hier. Beginnend mit einem leeren Blatt, erstelle ich ein ActiveX-Kombinationsfeld.ComboBox _Click und _Change Ereignisse auslösen auf ListFillRange bearbeiten? (Excel VBA)
1) Öffnen Sie das Eigenschaftenfenster und setzen:
ListFillRange = "A1:A3"
2) manuell jede Zelle in Bereich A1 füllen: A3 mit den Worten "eins", "zwei" und "drei", bzw. (diese Strings sind willkürlich).
3) Klicken Sie auf den Drop-down-Pfeil des Kombinationsfelds, um zu prüfen, ob die Werte in der Liste angezeigt werden.
4) aktivieren Design-Modus und doppelklicken Sie auf das Kombinationsfeld den VBA-Editor zu öffnen, dann fügen Sie den folgenden Code (das ist der Name Kombinationsfeld übernimmt, ist "ComboBox1"):
Private Sub ComboBox1_change()
MsgBox "Change event"
End Sub
Private Sub ComboBox1_click()
MsgBox "Click event"
End Sub
5) Kehren Sie zu dem Blatt zurück, das das Kombinationsfeld enthält, und deaktivieren Sie den Entwurfsmodus.
6) Klicken Sie auf die Drop-down-Schaltfläche des Kombinationsfelds und wählen Sie das oberste Element ("eins") aus der Liste aus. Unmittelbar nach dem Loslassen der Maustaste sollten Sie zwei MsgBox-Fenster erhalten, eines für das Ereignis _click und ein weiteres für das Ereignis _change, wie von den obigen Subs angewiesen.
7) mit „ein“ noch ausgewählt Doppelklick in eine der Zellen in ListFillRange (so zum Beispiel Zelle „A2“)
Ergebnis: Schritt 7 Triggern sowohl die _CLICK und _change Veranstaltungen! Dies geschieht immer dann, wenn ein Wert im Bereich ListFillRange bearbeitet wird AND die Zeichenfolge in der Combo-Box entspricht genau mindestens einem der Werte in ListFillRange.
Eine Idee, warum das sein könnte? Ist es ein Fehler? Danke im Voraus!