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