Herbers Excel-Forum - das Archiv

Combobox füllen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Combobox füllen
von: Stefan

Geschrieben am: 05.01.2007 06:42:33
Hallo,
ich habe in verschiedenen UF mehrere Comboboxen, die mit dem gleichen Inhalt gefüllt werden. Bisher hole ich die Daten einfach aus Excel, was ich aber wegbringen möchte.
Ich kenne die Methode: Combobox1.additem "xyz". Es klappt nur nicht, das erkannt wird, das sich eine Combobox1 in der UF2, UF5 und UF6 befinden. Die Comboboxen haben immer den gleichen Namen, nur die UF sind unterschiedlich.
Kennt jemand eine Möglichkeit, eine "gobale" Eingabe machen zu können so wie das auch bei Variablen möglich ist?
Für Eure Hilfe schon mal Danke im voraus.
Gruß
Stefan
Bild

Betrifft: AW: Combobox füllen
von: ChrisL

Geschrieben am: 05.01.2007 08:55:24
Hallo Stefan
Es gibt verschiedene Methoden. Nachstehend ein Beispiel, wie du die Auswahlliste von UF1 nach UF2 übertragen kannst. Beide UF müssen geladen sein.
Private Sub CommandButton1_Click()
Load UserForm1
UserForm1.ComboBox1.AddItem "Test1"
UserForm1.ComboBox1.AddItem "Test2"
UserForm1.ComboBox1.AddItem "Test3"
Load UserForm2
UserForm2.ComboBox1.List = UserForm1.ComboBox1.List
UserForm1.Show
End Sub

Gruss
Chris
Bild

Betrifft: AW: Combobox füllen
von: Stefan

Geschrieben am: 05.01.2007 14:01:15
Hallo Chris,
danke für deine Antwort.
Hab aber schon mal gehört, das Excel (incl. VBA) manchmal Probleme hat, wenn's zuviel wird. Habe pro UF aber jede Menge Makros und stoße häufig an die max. mögliche Makrogröße von 64 KB, arbeite auch noch mit CALL Befehl, um die Makros kleiner zu halten. Wenn jetzt noch eine 2. UF geladen wird, kann's dann nicht passieren, das dort was falsch läuft?? Man merkt das vielleicht auch nicht gleich, aber bei mir läuft vieles, was die Makros ausführen im Hintergrund ab und wenn ein Beleg mal draussen ist, wird es schwierig, den wieder richtig zu stellen. Darum muss mein System 100% fehlerfrei arbeiten.
Da du von mehreren Möglichkeiten gesprochen hast, gibt es eine, die nur eine geladene und sichtbare UF benötigt?
Gruß
Stefan
Bild

Betrifft: AW: Combobox füllen
von: P@ulchen

Geschrieben am: 05.01.2007 16:41:14
Hallo Stefan,
ich hab Dir mal eine Beispielmappe erstellt.
Die Daten für die Userforms werden beim Öffnen der Mappe in Arrays eingelesen, welche global deklariert sind.
Somit brauchst Du im jeweiligen Userform-Initialize je Combobox nur eine Codezeile zum Füllen.
Hier die Datei: https://www.herber.de/bbs/user/39415.xls
Gruß aus Leipzig
P@ulchen
www.excel-werkstatt.de

Bild

Betrifft: AW: Combobox füllen
von: Stefan

Geschrieben am: 05.01.2007 18:41:00
Hallo P@ulchen,
genau das hab ich gesucht. Werde es gleich mal ausprobieren.
Hab gleich noch eine Frage, da ich hier nicht weiterkomme.
Ich möchte bei einer Multipage das wechseln auf eine andere "Seite" der Multipage sperren, wenn auf der jeweiligen Seite ein Button geklickt wurde, das man nur mit dem "Schließen"-Buttom der jeweiligen Seite die UF verlassen kann, da sich mit dem "Schließen" ein notwendiges Makro ausführt.
Weißt du hier noch einen Tipp, ansonsten gibt es nur die Möglichkeit, alle anderen Buttom zu sperren, damit nur einer noch klickbar ist.
Die Sperre muss sich natürlich wieder aufheben, wenn die UF geschlossen ist, damit beim erneuten laden wieder alle Buttoms klickbar sind.
Danke für deine Hilfe.
Gruß
Stefan
Bild

Betrifft: AW: Combobox füllen
von: P@ulchen

Geschrieben am: 05.01.2007 19:21:34
Hallo Stefan,
bin mir nicht sicher, ob ich Dich richtig verstanden habe...
Schau Dir mal nachstehende Datei an:
https://www.herber.de/bbs/user/39419.xls
Gruß aus Leipzig
P@ulchen
www.excel-werkstatt.de

Bild

Betrifft: AW: Combobox füllen
von: Stefan

Geschrieben am: 06.01.2007 07:59:04
Hallo P@ulchen,
das ist genau die Lösung für mein Problem. Danke.
Muss aber nochmal auf die 1. Frage zurückkommen mit den Comboboxen in verschiedenen UF und gleichem Inhalt. VBA bringt die Meldung: "Es ist kein Objekt vorhanden". Hab allerdings die "Option explicit") ausgeblendet, da ich bei meinen Makros sonst Unmengen an Variablen nachdeklarieren muss. Liegt es am "Option expliciet" oder wo könnte der Fehler noch liegen??
Gruß
Stefan
Bild

Betrifft: AW: Combobox füllen
von: Oberschlumpf

Geschrieben am: 06.01.2007 09:22:05
Hi Stefan
Ich hab nicht wirklich einen Vorschlag zu deiner Frage. Aber etwas anderes ist mir aufgefallen.
Du schreibst mitunter, dass deine Datei zu 100% fehlerfrei laufen soll, aber du verzichtest auf Variablendeklaration...oh jehh...ein Widerspruch in sich.
Schon mal darüber nachgedacht, dass nur n klitzekleiner Tippfehler in einem Variablennamen für n richtig kniffliges Programmablaufproblem sorgen kann, welches auch nicth unbedingt sofort auftreten und somit erkennbar sein muss??
Wenn du aber Option Explicit verwendest, dann bist du "gezwungen", jede Variable zu deklarieren - und somit umgehst du zumindest schon mal das Programmierproblem TIPPFEHLER.
Ciao
Thorsten
Bild

Betrifft: AW: Combobox füllen
von: Stefan

Geschrieben am: 06.01.2007 09:47:42
Hallo Thorsten,
danke für deinen Tipp.
Wahrscheinlich ist es wirklich besser, deinen Rat zu beherzigen und die Variablen noch zu ergänzen. Wird zwar viel Arbeit, aber wenn die Fehlerquote für den Markoablauf drastisch vermindert werden kann, ist es in jedem Fall sinnvoll.
Gruß
Stefan
 Bild
Excel-Beispiele zum Thema "Combobox füllen"
ComboBox als Symbol Alle ComboBoxes auf Position 1
Werte in eine ComboBox einer UserForm übernehmen ComboBox in Abhängigkeit einer 2. ComboBox ein-/ausblenden
ComboBox mit Monatsnamen füllen Mehrspaltige ComboBox
ComboBox2 in Abhängigkeit von ComboBox1 bestücken Nur Zellen mit Inhalt in ComboBox listen
Neue UserForm bedingt nach ComboBox-Auswahl aufrufen Neues Element in ComboBox