Userform Comboxen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm MsgBox
Bild

Betrifft: Userform Comboxen
von: Lisa
Geschrieben am: 06.11.2015 13:38:23

Hallo Liebe Helfer, ich stehe auf dem Schlauch und bräuchte dringend Hilfe.
Hier mein Anliegen kurz geschildert.
Ich habe eine UserForm mit zwei Comboboxen.
Eine wird aus der Tabelle1 mit den Daten A1:C20 gefüllt.
Ich würde hier aber gern mit einem Filter arbeiten wollen sofern es denn funktioniert.
Meine Vorstellung hierzu wäre wie folgt:
Ich treffe eine Vorauswahl über eine Combobox für den Filter.
Über diesen Eintrag sollte dann in der anderen Combobox nur noch die Einträge zu sehen/wählbar sein.
Zum besseren Verständnis habe ich eine Datei angehängt.
Vielen Dank für Eure Hilfe und liebe Grüße
Lisa
https://www.herber.de/bbs/user/101292.xls

Bild

Betrifft: AW: Userform Comboxen
von: Peter Feustel
Geschrieben am: 06.11.2015 14:31:45
Hallo Lisa,
das könnte z. B. so funktionieren:

Option Explicit
 
Private Sub ComboBox2_DropButtonClick()
Dim lZeile  As Long
Dim iCoBo   As Integer
   
   If ComboBox1.Value = "" Then
      MsgBox "Sie haben keinen Filter ausgewählt!", _
         48, "   Hinweis für " & Application.UserName
      ComboBox1.SetFocus
      Exit Sub
   End If
   With ThisWorkbook.Worksheets("Tabelle1") ' den Tabellenblattnamen ggf. anpassen!
      For lZeile = 1 To .Cells(.Rows.Count, 3).End(xlUp).Row
         If .Range("B" & lZeile).Value = ComboBox1.Value Then
            ComboBox2.AddItem .Range("A" & lZeile).Value
            ComboBox2.List(iCoBo, 1) = .Range("B" & lZeile).Value
            ComboBox2.List(iCoBo, 2) = .Range("C" & lZeile).Value
            iCoBo = iCoBo + 1
         End If
      Next lZeile
   End With
End Sub
Private Sub UserForm_Initialize()
   With ComboBox1
      .AddItem "Hose"
      .AddItem "Jacke"
      .AddItem "Hemd"
      .AddItem "Schuhe"
   End With
   
End Sub

Gruß Peter

Bild

Betrifft: AW: Userform Comboxen
von: Lisa
Geschrieben am: 06.11.2015 15:04:26
Hallo Peter, vielen, vielen Dank für deine Antwort.
Ich habe es prompt getestet.
Leider bekomme ich einen Debugger "Zugriff verweigert"
<ComboBox2.AddItem .Range("A" & lZeile).Value<
Keine Ahnung, habe ich an der Combobox2 Einstellungen vorzunehmen, die ich evtl. nicht berücksichtigt habe?
Also das Tabellenblatt hat keinen Schutz o.ä.
Lieb Grüße
Lisa

Bild

Betrifft: AW: Userform Comboxen
von: Lisa
Geschrieben am: 06.11.2015 15:13:15
Hallo Peter, ich denke das ich den Fehler gefunden habe.
meine RowSource in den Eigenschaften der Combobox2 war ja noch belegt.
Diese habe ich nun gelöscht.
Der Filter arbeitet nun.
Irgendwie will er aber nicht sauber filtern. Es bleiben mal vom Vorfilter Daten stehen oder er findet es erst beim zweiten Versuch.
Muss hier vieleicht der Filter einmal gelöscht werden bevor er neu gesetezt wird?
Wenn ja, wie kann ich es realisieren?
Lieb Grüße Lisa

Bild

Betrifft: AW: Userform Comboxen
von: Luschi
Geschrieben am: 06.11.2015 15:19:46
Hallo Lisa,
hier mal mein Versuch:
https://www.herber.de/bbs/user/101296.xls
Gruß von Luschi
aus klein-Paris

Bild

Betrifft: AW: Userform Comboxen
von: Lisa
Geschrieben am: 06.11.2015 15:34:09
Hallo Luschi, das funktioniert fabelhaft.
Vielen, vielen Dank.
Ich würde hierzu gern noch die Frage stellen wollen, wo ich die Spalten erweitern kann. Ich hoffe es geht.
Leider sagt mir der Quellcode nichts, also ich verstehe davon zu wenig um es selbst zu testen.
Liebe Grüße Lisa

Bild

Betrifft: AW: Userform Comboxen
von: Luschi
Geschrieben am: 06.11.2015 15:39:35
Hallo Lisa,
schreibe Deine Fragen als Kommentar in den Quellcode und stelle sie dann hier wieder zur Verfügung.
Dann schaue ich mir das an.
Gruß von Luschi
aus klein-Paris

Bild

Betrifft: AW: Userform Comboxen
von: Peter Feustel
Geschrieben am: 07.11.2015 21:04:49
Hallo Lisa,
da fehlt ein ComboBox2.Clear um die bestehenden Werte zuerst einmal zu löschen.

If ComboBox1.Value = "" Then
         MsgBox "Sie haben keinen Filter ausgewählt!", _
            48, "   Hinweis für " & Application.UserName
         ComboBox1.SetFocus
         Exit Sub
       Else
         ComboBox2.Clear
      End If
Gruß Peter

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Userform Comboxen"