Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1456to1460
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Userform Comboxen

Userform Comboxen
06.11.2015 13:38:23
Lisa
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

Die Datei https://www.herber.de/bbs/user/101292.xls wurde aus Datenschutzgründen gelöscht


7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Comboxen
06.11.2015 14:31:45
Peter
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

Anzeige
AW: Userform Comboxen
06.11.2015 15:04:26
Lisa
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

AW: Userform Comboxen
06.11.2015 15:13:15
Lisa
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

Anzeige
AW: Userform Comboxen
06.11.2015 15:34:09
Lisa
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

AW: Userform Comboxen
06.11.2015 15:39:35
Luschi
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

Anzeige
AW: Userform Comboxen
07.11.2015 21:04:49
Peter
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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige