Globale ComboBox

12/06/2008 - 00:01 von Dirk Hennemann | Report spam
Hallo NG !

Folgende Sache. Ich habe ein Projekt mit sehr vielen UserForms. In einigen
taucht immer die gleiche Combobox auf, in der ein Wert ausgewàhlt wird (z.B.
ein Ort). Wenn ich da ein Vorgabewert hinzufügen oder löschen will, muss ich
das derzeit in jeder UserForm tun. Das nervt. Das kann man bestimmt auch
irgendwie global platzieren, so dass ich nur noch einmal die Werte àndern
muss. In der UserForm selber kann man dann per Befehl auf die "globale"
ComboBox zugreifen. Also wie "Combobox1.text= ???" Wie mache ich das ? Muss
ich das in ein Modul schreiben ?

Danke für die Antworten. Ich benutze Excel 2007.

Dirk
 

Lesen sie die antworten

#1 Peter Schleif
12/06/2008 - 06:13 | Warnen spam
Dirk Hennemann schrieb am 12.06.2008 00:01 Uhr:

Folgende Sache. Ich habe ein Projekt mit sehr vielen UserForms. In einigen
taucht immer die gleiche Combobox auf, in der ein Wert ausgewàhlt wird (z.B.
ein Ort). Wenn ich da ein Vorgabewert hinzufügen oder löschen will, muss ich
das derzeit in jeder UserForm tun. Das nervt. Das kann man bestimmt auch
irgendwie global platzieren, so dass ich nur noch einmal die Werte àndern
muss.



Du könntest deine Auswahl-Liste in einer (versteckten) Tabelle
verwalten. Dem Zell-Bereich mit den Orten gibst Du einen Namen: z.B.
"Auswahl" (natürlich ohne Anführungszeichen). Jede ComboBox hat eine
Eigenschft RowSource. Dort tràgst Du den Namen der Auswahl-Tabelle und
des Auswahl-Bereichs ein:

Tabelle1!Auswahl

oder per VBA:

Me.ComboBox1.RowSource = "Tabelle1!Auswahl"

Dann nimmst Du deine Änderungen nur noch in der Auswahl-Tabelle vor.
Achtung: Beim Anfügen von Werten am Ende des Bereichs wird dieser
nicht automatisch erweitert. Die Tabelle kannst Du ausblenden.

Leider gibt es einen Schönheits-Fehler: Bei Änderungen in Echtzeit
(also wàhrend die UserForms angezeigt werden) werden die Listen in den
ComboBoxen zwar sofort angepasst, nicht aber der Platzbedarf für die
Eintràge. Kommen Eintràge hinzu, so sind die unteren nicht sichtbar.
Hab' leider noch keine Lösung für das Problem gefunden.

Peter

Ähnliche fragen