Guten Morgen,
ich möchte in VBA gerne mit einer ComboBox arbeiten, in der aus vorgegebenen Werten ein Wert ausgewählt werden kann.
[Ich habe vorher das immer über Daten - Datenüberprüfung gemacht, aber möchte mir den Weg über einen extra Verweis auf Auswahlwerte sparen, da immer nur wenige, fixe Werte zur Auswahl stehen].
Nun stehe ich vor dem Problem die Werte der ComboBox zuzuordenen. Wenn man bspw. CommandButton etc. hinzufügt, dann kann man ja vorab den Namen bearbeiten und beim Klick auf die Box bestimmte Befehle ausführen.
Bei der ComboBox habe ich keine Möglichkeit gefunden, die Auswahlwerte manuell einzutragen. Nun habe ich es über Code anzeigen und .AddItem gemacht. Das sieht wie folgt aus:
Private Sub ComboBox1_Change()
With ComboBox1
.AddItem "Hallo"
.AddItem "Hi"
End With
End Sub
Da das nun bei jedem Change ausgeführt wird, ist es so, dass ich bei es einmal manuell ausgeführt habe und nun bei jeder Änderung der Wahl die Items erneut zugefügt werden & sich die Liste immer weiter mit den gleichen Werten verlängert.
Ich müsste die Kombo-Box zuerst mit den Werten initializieren und beim Auswählen muss sich eigentlich nichts ändern. Ich weiß allerdings nicht, wie und wo ich die Initialisierung am besten einbaue. Es reicht ja wenn, dass einmal eingestellt ist, das sich nicht was ändern muss beim Öffenen des Blattes etc..
Ich habe im Moment den Code für Steuerelemente auch immer auf Ebene des Tabellenblattes. Ich habe mal gehört, dass man am besten eine User-Form für Steuer-Elemente benutzt. Wäre das sinnvoll bzw. gibt es da einen Vorteil?
Freue mich über einen Tip.
Ellen
|