Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Datenquelle für Steuerelement in Excel





Frage

Hallo allerseits, folgendes Problem: Ich habe in einem Excel Tabellenblatt ein Steuerelement der Art "Combobox" angelegt. Jetzt möchte ich dieses mit Daten füllen. Aber wie?!? Bei dem gleichen Steuerelement in einem Formular (Userform) gibts unter den Element-Eigenschaften die Zeile RowSource, dort kann man einen Quellenbereich im Tabellenblatt angeben. Diese Eigenschaft gibts bei der ComboBox im Tabellenblatt aber nicht. Wie gehts dann? Oder bin ich da mit "RowSource" ganz auf dem falschen Dampfer?!? Vielen Dank schon mal für jeden Hinweis! Hannes

Antwort 1 von Hanso

Weiß denn niemand nix??? Oder alle noch im Post-Jahreswend-Kater?!? Werde es nun auch mal im Excel Forum versuchen...
Bin also weiterhin an Hinweisen sehr interessiert!!!

Hannes

Antwort 2 von Coolpix

hallo Hannes,

nach meinem Kenntnisstand geht das zuweisen von Daten aus einem Zellbereich an eine Combobox aus der Steuerelementleiste nur per VBA...

entweder so:
über einen Array


Dim Array1(1 To 3)
For x = 1 To 3
Array1(x) = x + 3
Next x
Me.ComboBox1.List() = Array1()


oder so:
per direkten Zellbezug


Me.ComboBox1.List() = Range("b1:b18").Value



Feedback fänd ich klasse !!

Greetings ;-)

Antwort 3 von Event

Hallo

Ist ListFillRange das, was Du suchst?

Gruß

Antwort 4 von Hanso

Danke @ Coolpix und Event! Allerdings habe ich bisher nicht mit Arrays gearbeitet und ListFillRange triffts nicht, soweit ich das überblicke. Da ich im Excel-Forum die gleiche Frage gestellt hat, verweise ich jetztmal dahin, da ich mich da gerade bemüht habe das noch genauer darzustellen und der Hinweis auf den Befehl AddItem mir zumindest teilweise zielführend zu sein scheint.
https://supportnet.de/threads/1232669
Für weitere Hinweise bin ich aber auf jedenfall sehr dankbar!!!

Grüße,
Hannes

Antwort 5 von Hanso

Möchte hier noch die abschließende Antwort auf meine Frage nachreichen:

"Event" hatte doch recht, allerdings hatte ich es nicht verstanden (Ein paar erläuternde Worte hätten weitergeholfen).
Bei dem Steuerelement ComboBox in einem Datenblatt heißt die Zuordnung zu einer Zelle bzw. Liste in einem Excel Sheet in der Tat "ListFillRange".
Im Gegensatz dazu heißt diese Zuordnung bei dem gleichen Steuerelement in einem Formular "RowSource".

ListFillRange ist in den Eigenschaften der ComboBox in einem Datenblatt mit aufgeführt. Der Verweis wird wie in Excel Zellen und nicht wie in VBA geschrieben:
Also z.B. ein Verweis auf eine Liste A1:B10 in einem anderen Blatt/Sheet als dem in dem das Steuerelement ist lautet:
´Tabelle2´!A1:B10 (in der rechten Spalte bei der Eigenschaft ListFillRange)

Die Eigenschaft "BoundColumn" bestimmt welche Spalte dieser so angegebenen Liste als Wert (Value) definiert wird.
Die Eigenschaft "LinkedCell" bestimmt wiederum in welche Zelle dieser Wert (value) geschrieben werden soll.
"ColumCount" schließlich gibt an wieviele Spalten der mit ListFillRange angegebene Liste im Fenster der ComboBox angezeigt werden.
"TextColumn" bestimmt die Spalte deren Inhalt mit Text ausgegeben wird und die auch nach der Auswahl angezeigt wird.

So hoffe, diese Angaben können nochmal jemanden weiterhelfen. Den Vorrednern besten Dank für die Mühe und sollte noch Fehler sein korrigiert sie bitte. Amen.

Hannes