1
Excel / Combobox in Userform sichtbar in Abhängigkeit einer anderen Combobox
« am: Juli 24, 2019, 17:05:18 Nachmittag »
Hi,
ich bin neu hier im Forum und hab gleich mal ein RIESEN-Problem.
Ich hab ein userform generiert zum Sammeln von Daten welche in einer Tabelle gespeichert werden sollten.
Wenn ich das Kontrollkästchen cmbKopf aktiviere, wird die combobox cmbKopf sichtbar. Die combobox hab ich über initialize auf width = 0 gesetzt.
Private Sub UserForm_Initialize()
' Me.txtDatum.Value = Date 'setzt das aktuelle Datum ein
Me.txtZeit.Value = Format(Time, "hh:mm")
DTPickerDatum = Date 'setzt das aktuelle Datum ein
cmbKopf.Width = 0 'setzt die Comboboxen auf "unsichtbar"
cmbBrust.Width = 0
ComboBox1.Width = 10
Private Sub chkKopf_Click()
cmbKopf.Enabled = chkKopf.Value
If chkKopf.Value = True Then
cmbKopf.Width = 140
With cmbKopf
.AddItem "Verletzung"
.AddItem "Stich/Schnitt"
.AddItem "Prellung/Quetschung"
.AddItem "Abschürfung"
.AddItem "Verbrennung/Verätzung"
.AddItem "Sturz/Stoss"
.AddItem "Fremdkörper"
.ListIndex = 0
End With
Else
cmbKopf.Width = 50
End If
End Sub
Das alles klappt einwandfrei.
Nun möchte ich, sobald ich bei cmbkopf der list.index > 0 ist (wenn also eine Art der Verletzung gewählt wurde), eine weitere combobox sichtbar wird und dann ebenfalls ein Wert angegeben werden kann.
Nur das funktioniert nicht.
Ich hab mal das zusammengebastelt, aber wie gesagt funzt es nicht.
Private Sub combobox1_change()
ComboBox1.Enabled = cmbKopf.ListIndex > 0
If cmbKopf.ListIndex = Enabled Then
ComboBox1.Width = 140
With ComboBox1
.AddItem "Verletzung"
.AddItem "Stich/Schnitt"
.AddItem "Prellung/Quetschung"
.AddItem "Abschürfung"
.AddItem "Verbrennung/Verätzung"
.AddItem "Sturz/Stoss"
.AddItem "Fremdkörper"
.ListIndex = 0
End With
End If
Else
ComboBox1.Width = 0
End Sub
Für eine Lösung wäre ich ziemlich dankbar ;-)
VG mo18
ich bin neu hier im Forum und hab gleich mal ein RIESEN-Problem.
Ich hab ein userform generiert zum Sammeln von Daten welche in einer Tabelle gespeichert werden sollten.
Wenn ich das Kontrollkästchen cmbKopf aktiviere, wird die combobox cmbKopf sichtbar. Die combobox hab ich über initialize auf width = 0 gesetzt.
Private Sub UserForm_Initialize()
' Me.txtDatum.Value = Date 'setzt das aktuelle Datum ein
Me.txtZeit.Value = Format(Time, "hh:mm")
DTPickerDatum = Date 'setzt das aktuelle Datum ein
cmbKopf.Width = 0 'setzt die Comboboxen auf "unsichtbar"
cmbBrust.Width = 0
ComboBox1.Width = 10
Private Sub chkKopf_Click()
cmbKopf.Enabled = chkKopf.Value
If chkKopf.Value = True Then
cmbKopf.Width = 140
With cmbKopf
.AddItem "Verletzung"
.AddItem "Stich/Schnitt"
.AddItem "Prellung/Quetschung"
.AddItem "Abschürfung"
.AddItem "Verbrennung/Verätzung"
.AddItem "Sturz/Stoss"
.AddItem "Fremdkörper"
.ListIndex = 0
End With
Else
cmbKopf.Width = 50
End If
End Sub
Das alles klappt einwandfrei.
Nun möchte ich, sobald ich bei cmbkopf der list.index > 0 ist (wenn also eine Art der Verletzung gewählt wurde), eine weitere combobox sichtbar wird und dann ebenfalls ein Wert angegeben werden kann.
Nur das funktioniert nicht.
Ich hab mal das zusammengebastelt, aber wie gesagt funzt es nicht.
Private Sub combobox1_change()
ComboBox1.Enabled = cmbKopf.ListIndex > 0
If cmbKopf.ListIndex = Enabled Then
ComboBox1.Width = 140
With ComboBox1
.AddItem "Verletzung"
.AddItem "Stich/Schnitt"
.AddItem "Prellung/Quetschung"
.AddItem "Abschürfung"
.AddItem "Verbrennung/Verätzung"
.AddItem "Sturz/Stoss"
.AddItem "Fremdkörper"
.ListIndex = 0
End With
End If
Else
ComboBox1.Width = 0
End Sub
Für eine Lösung wäre ich ziemlich dankbar ;-)
VG mo18