Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1864to1868
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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
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.
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.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige