Collapse column

Autor Thema: Combobox in Userform sichtbar in Abhängigkeit einer anderen Combobox  (Gelesen 773 mal)

Offline mo18

  • Newbie
  • *
  • Beiträge: 1
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2016
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

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1.063
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw: Combobox in Userform sichtbar in Abhängigkeit einer anderen Combobox
« Antwort #1 am: Juli 25, 2019, 08:05:26 Vormittag »
Hallo,

verwende - statt der Breite Width - die Eigenschaft Visible (=False/True), um ein Steuerelement sichtbar zu machen oder nicht.
Und initialisiere den Inhalt der Steuerelemente in der UserForm_Initialize Prozedur (cmbKopf.AddItem "Verletzung", usw.),
denn so wie es aktuell ist, fügst Du die Elemente jedesmal neu hinzu.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) from 01/2011 - 06/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.