Clever-Excel-Forum

Normale Version: ComboBox2 in Abhängigkeit von ComboBox1 befüllen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
ComboBox2 in der UserForm soll in Abhängigkeit von ComboBox1 befüllt werden:

In ComboBox1 steht zur Auswahl
Berlin
Leipzig
Hannover
Erfurt

ComboBox2 soll entsprechend Auswahl in ComboBox1 befüllt werden
Berlin  
    Karsten
    Olaf
    Ines
Leiipzig
    Tanja
    Sabine 
    Rene
Hannover
    Erwin
    Max
    Ilka
Erfurt
    Klaus
    Eva
    Heidi

Wie  muss der Code dafür aussehen?
Hallöchen,

So wie es angeordnet ist könntest Du mit dem Index des Eintrages arbeiten und der zweiten Combo einen Bereich zuweisen.

Im Prinzip

Combobox2.ListFillRange=Cells(Combobox1.Listindex*4+1,1).Resize(4,1).address
Wie würde das ausformuliert aussehen?
Hallöchen,

so:

Code:
Private Sub ComboBox1_Change()
ComboBox2.ListFillRange = Cells(ComboBox1.ListIndex * 4 + 1, 1).Resize(4, 1).Address
End Sub
Vielen Dank, aber ich habe mich sicher falsch ausgedrückt,
anbei die Datei mit UserForm, ohne Code.
Moin!
Vorweg finde ich den Aufbau der Datei suboptimal …  :21:

Aber egal, ins Modul der Userform:
Dialog UserForm1
Option Explicit 
 
Private Sub UserForm_Initialize() 
Dim wks As Worksheet 
For Each wks In Worksheets 
  ComboBox_Ort.AddItem wks.Name 
Next 
End Sub 
 
Private Sub ComboBox_Ort_Change() 
ComboBox_Name.Clear 
With Worksheets(ComboBox_Ort.Text) 
  ComboBox_Name.List = .Range(.Range("A2"), .Range("A2").End(xlDown)).Value 
End With 
End Sub 
 

Gruß Ralf
Ralf, wie würdest du es besser machen?

Dieses Beispiel ist ein Auszug aus einem umfangreichen Formular welches über Userform befüllt wird.
Es gibt hierbei eine Hilfsdatei (Excel- Tabelle) in welchem die Standorte auf unterschiedlichen Tabellenblättern angelegt sind, in welchen die Mitglieder stehen (analog dem Beispiel).

Ich wollte dies nicht in das eigentliche Formular (versteckt) packen, damit diese Liste geändert werden kann, ohne das Formular anfassen zu müssen.

EDIT:
Wie müsste der Code geändert werden, wenn das ganze in einer anderen Exceldatei liegt als das Formular, aber im selben Ordner?
(Name z.B. Mitgliederliste)

EDIT2:
Wenn die "Mitgliederblätter" in der selben Excel- Datei wie das Formular sind, aber auch noch andere Tabellenblätter welche keine Mitglieder enthalten, wie kann ich es auf die Blätter Berlin / Leipzig / Hannover / Erfurt (bezogen auf dieses Beispiel) beschränken?
Ich habe die Lösung zur zweiten Variante auch hier angefragt.
Hola,

edit: obsolet.

Gruß,
steve1da
Ich beschreibe es nochmal anders...

Wie muss der Code aussehen um dieses zu realisieren?

"Apfel" / "Birne" / "Farbe" sind die Auswahlmöglichkeiten der ComboBox1 in der UserForm, sowie die Namen der Tabellenblätter in der Datei Auswahl.xls.

Im Tabellenblatt "Apfel" sind "Apfel1" / "Apfel2" / "Apfel3" aufgeführt.
(ab Zeile 2)
Im Tabellenblatt "Birne" sind "Birne 1" / "Birne2" / "Birne3" aufgeführt.
(ab Zeile 2)
Im Tabellenblatt "Farbe" sind "Farbe1" / "Farbe2" / "Farbe3" aufgeführt.
(ab Zeile 2)

Wird in ComboBox1 "Apfel" ausgewählt, soll in ComboBox2 "Apfel1" / "Apfel2" / "Apfel3" zur Auswahl stehen.
Wird in ComboBox1 "Birne" ausgewählt, soll in ComboBox2 "Birne1" / "Birne2" / "Birne3" zur Auswahl stehen.
Wird in ComboBox1 "Farbe" ausgewählt, soll in ComboBox2 "Farbe1" / "Farbe2" / "Farbe3" zur Auswahl stehen.

Bei Formularstart sollen beide ComboBoxen leer sein.

Das Formular soll in der Datei Formular.xlsm und der "Bezug" in der Datei Auswahl.xls enthalten sein.


Hinweis: Ich habe die Frage auch hier gestellt.
Seiten: 1 2