Excel VBA, Combobox ergänzen?
Hallo, ich würde gerne Excel VBA über ein Textfeld eine Combobox erweitern. Also das was ich in ein Textfeld eingebe soll in der Combobox übernommen werden. Wie realisiere ich das?
Befinden sich ComboBox und Textfeld auf einer UserForm oder auf einer Tabelle?
Bezieht die ComboBox ggf. ihre Daten aus der Tabelle?
Soll/darf ggf. die Tabelle mit verändert werden?
Ja beides befindet sich auf einer Userform. Beide weitere Fragen beantworte ich mit nein
2 Antworten
In das betreffende Ereignis
ListBox1.Add TextBox1.Text
Ich würde aber vorher noch die Einträge der ListBox durchgehen, ob dieser Eintrag vielleicht schon vorhanden ist.
ComboBox.AddItem TextBox.Text
Ich habe das Listenfeld in Userform_Initialize geschrieben, sodass meine Änderung nicht dauerhaft gespeichert wird. Wie kann ich das ändern?
Also du willst, dass die Daten irgendwo gespeichert werden? Da gibt es verschiedene Möglichkeiten.
Am Einfachsten dürfte es sein, wenn du für die "RowSource" Eigenschaft des Listenfelds irgendeinen Bereich der Excel-Arbeitsmappe einstellst. Am Besten ein ListObject, bzw. eine Tabelle (nicht verwechseln mit einem Tabellenblatt). Also du markierst die Daten in deiner Excel und drückst Strg+T und dann Ok. Die Daten kannst du dann recht bequem mit ListRows.Add oder ListRows(123).Delete bearbeiten.
Oder du erstellst z.B. eine Datenbankverbindung zu einem SQL-Server und speicherst die Daten da. Oder du erstellst ein FileSystemObject und speicherst die Daten in einer Datei
Wenn die Userform sich erst öffnet und ich den Eintrag wie gewünscht hinzufüge, funktioniert ja auch alles. Nur sobald ich die Userform neu aufrufe ist der eigentlich zugefügte Eintrag verschwunden.