Microsoft Excel

Herbers Excel/VBA-Archiv

ComboBox in Abhängigkeit füllen


Betrifft: ComboBox in Abhängigkeit füllen von: Tim
Geschrieben am: 29.01.2019 10:40:02

Hallo zusammen,

ich lese in eine Combobox (1) mit Werte aus einer Tabellenspalte ein =(Kategorie), dabei sollen diese nur einmal eingelesen werden unter Berücksichtigung des Status "aktiv", das funktioniert perfekt.

Jetzt möchte ich gern eine weitere Combobox (2) = "Unterkategorie" in Abhängigkeit der ersten Combobox einlesen. Heißt, wird in der Combobox (1) der Wert für die "Kategorie" ausgewählt, soll anschließend in Combobox (2) die dazugehörige "Unterkategorie" eingelesen werden und das auch nur einmal.

Wer kann mir dabei helfen?

https://www.herber.de/bbs/user/127244.xlsm


  

Betrifft: AW: ComboBox in Abhängigkeit füllen von: Piet
Geschrieben am: 29.01.2019 20:49:47

Hallo

baue in deine UserForm noch diesen Code für ComboBox1 bei anklicken ein. Dann sollte es klappen

mfg piet

Private Sub ComboBox1_Change()
    ComboBox2.Clear
    
    Dim hsh As Object, i As Long
    Const iCOL As Integer = 1  '1 = Spalte B dieses Makro fast alle Namen in Spalte A der  _
Datenbank zu einem zusammen wenn in Spalte J
    Set hsh = CreateObject("Scripting.Dictionary")
    With Sheets("Datenbank")
    
        For i = 2 To .Cells(.Rows.Count, iCOL).End(xlUp).Row
           If .Cells(i, iCOL) = Me.ComboBox1.Value Then
           If .Cells(i, iCOL).Offset(0, 3) = "aktiv" Then
              hsh(.Cells(i, iCOL + 1).Text) = 0
          End If
          End If
        Next
    End With
    Me.ComboBox2.List = Application.Transpose(hsh.keys)
End Sub



  

Betrifft: AW: ComboBox in Abhängigkeit füllen von: Tim
Geschrieben am: 30.01.2019 08:03:39

Guten Morgen Piet,

vielen Dank für deine Umsetzung! Vorwärts funktioniert das perfekt, jedoch bringt er eine Fehlermeldung wenn ich die erste Combobox leere (im Fall man will eine neue Auswahl treffen).

markiert wird dabei folgende Zeile:

Me.ComboBox2.List = Application.Transpose(hsh.keys)

Hast du dafür noch eine Lösung?


  

Betrifft: AW: ComboBox in Abhängigkeit füllen von: Piet
Geschrieben am: 30.01.2019 12:30:52

Hallo

setze bitte in beiden Makros vor dem laden der ComboBox diesen Befehl, falls mal -kein Wert- vorliegt! (kiene Zelle "aktiv" war)

If hsh.Count > 0 Then Me.ComboBox2.List = Application.Transpose(hsh.keys)
mfg Piet


  

Betrifft: AW: ComboBox in Abhängigkeit füllen von: Tim
Geschrieben am: 30.01.2019 13:47:57

Perfekt, vielen Dank!!


Beiträge aus dem Excel-Forum zum Thema "ComboBox in Abhängigkeit füllen"