Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Combobox füllen

Forumthread: Combobox füllen

Combobox füllen
12.01.2022 15:22:58
Chris
Hallo Forum,
ich möchte einen Combobox mit Inhalten aus variablen Worksheets füllen. Die Worksheetangabe erfolgt aus einer anderen Combobox.
Unten stehendes Makro füllt die CB leider nicht, ich erhalten "Anwendungs- und objektdefinierter Fehler".
Was muss geändert werden?
Dim ws As Worksheet
ws = Me.ComboBox2.Value
UserForm2.ComboBox3.RowSource = Worksheets(ws).Range("E3", Cells(Rows.Count, 5).End(xlUp)).Address
Gruß
Chris
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combobox füllen
12.01.2022 15:46:37
{Boris}
Hi,
ungetestet:
Dim ws As Worksheet
Set ws = WorkSheets(Me.ComboBox2.Text)
UserForm2.ComboBox3.RowSource = ws.Range("E3", ws.Cells(ws.Rows.Count, 5).End(xlUp)).Address
Am Ende für Address evtl. noch den Parameter external auf true setzen (weiß ich jetzt grad nicht, ob nötig).
VG, Boris
Anzeige
AW: Combobox füllen
12.01.2022 16:44:34
Chris
Vielen Dank Euch,
das ist es. Funktioniert!
Gruß
Chris
AW: Combobox füllen
12.01.2022 15:50:24
ChrisL
Hi
Ja, ich denke external True setzen ist sinnvoll...

Dim ws As Worksheet
Set ws = Worksheets(Me.ComboBox2.Text)
UserForm2.ComboBox3.RowSource = ws.Range("E3", ws.Cells(Rows.Count, 5).End(xlUp)).Address(0, 0, , 1)
cu
Chris
Anzeige
Rows.Count...
12.01.2022 15:53:31
{Boris}
Hi,
...aber besser auch mit dem Worksheet referenzieren:
ws.Rows.Count
Wird dann wichtig, falls das aktive Blatt ein Diagrammblatt sein sollte.
VG, Boris
AW: Rows.Count...
12.01.2022 15:57:41
ChrisL
Hi Boris
Guter Punkt. Dachte immer, Rows.Count sei unabhängig vom Blatt gleich, aber auf die Idee mit dem Diagrammblatt bin ich bisher nicht gekommen. Wieder was gelernt.
cu
Chris
Anzeige
AW: Combobox füllen
12.01.2022 15:56:50
ralf_b
Hast du dir den Adresstext mal angesehen?
Du benötigst für Rowsource die ganze Adresse. Also mit Blattnamen in der Art "Tabelle1!E3:E10" . dein Adresstext ergibt "$E$3:$E$10"

set ws = Worksheets(Me.ComboBox2.Value)
UserForm2.ComboBox3.RowSource = ws.name & "!E3:E" & ws.Cells(Rows.Count, 5).End(xlUp).row

Anzeige
Dafür halt external:=true ...
12.01.2022 16:01:31
{Boris}
Hi Ralf,
...aber das wurde bereits geschrieben ;-)
Hinweis zu Rows.Count gelesen?
VG, Boris
AW: Dafür halt external:=true ...
12.01.2022 17:01:50
ralf_b
@Boris.
nur weil einige Leute ein paar Minuten schneller waren als ich, heißt das nicht das ich euere Post missachtet habe. Sie waren einfach noch nicht da.
Rows.count ignoriere ich mal, weil wenn wir das auf die Spitze treiben, müßte noch geprüft werden ob die letzte Zelle größer gleich 3 ist.
Anzeige
Ging mir nicht um "Erster"...
12.01.2022 18:58:48
{Boris}
Hi Ralf,
...sondern nur um den Hinweis auf den Paramter "external", der genau das macht, was Du "umbaut" hast - und um mir Erläuterungen zu sparen, hab ich auf das bereits Geschriebene verwiesen.
Aber dass es auch Diagrammblätter in einer Datei geben kann und damit Rows.Count (wenn Diagrammblatt aktiv) vor die Wand läuft, halte ich jetzt nicht für "auf die Spitze treiben".
VG, Boris
Anzeige
AW: Ging mir nicht um "Erster"...
12.01.2022 20:00:02
ralf_b
ok,
das mit dem Diagrammblättern hab ich bisher nicht aufn Zettel.
external gibt aber den ganzen Dateinamen mit raus. Deshalb nehme ich persönlich das nicht so gerne.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige