ListBox mit BESTIMMTEN Werten befüllen

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

Betrifft: ListBox mit BESTIMMTEN Werten befüllen
von: Chris
Geschrieben am: 13.07.2015 01:02:27

Hallo Liebe Herber Gemeinde,
ich habe ein UserForm Makro geschrieben in dem ich eine ListBox mit bestimmten Werten aus einem Tabellenblatt befallen möchte.
Dazu wählt man zuerst einen bestimmten Namen aus einer ComboBox. Dieser Name wird dann in dem Tabellenblatt WSHistorie gesucht um die genaue Spalte zu identifizieren.
In der identifizierten Spalte soll dann jeder Wert in die ListBox eingetragen werden, aber niemals doppelt (dh nicht wenn dieser bereits in der Listbox steht) und nur wenn auch ein Wert in der Zelle steht.
Dazu soll auch noch der Wert aus der Zelle 2 Spalten weiter in die zweite Spalte der Listbox eingetragen werden.
Leider wird kein Wert in der Listbox angezeigt :( Daher meine Frage an euch, ob ihr in dem unterem Code irgend einen Fehler entdeckt, der diesen Fehler verursachen könnte.
Besten Dank schon mal!

Private Sub ComboBox1_Change()
Dim WSHistorie As Worksheet
Dim Zeile As Long
Dim ZeileMax As Long
Dim SpalteMax As Long
Dim Spalte As Long
Dim x As Long
Dim Treffer As Range
Me.ListBox1.Clear
Set WSHistorie = ThisWorkbook.Worksheets("HistorieBelegung")
SpalteMax = WSHistorie.Cells(1, Columns.Count).End(xlToLeft).Column
Set Treffer = Range(WSHistorie.Cells(1, 5), WSHistorie.Cells(1, SpalteMax)).Find(What:=Me. _
ComboBox1.Value, lookat:=xlWhole)
If Not Treffer Is Nothing Then
 Spalte = Treffer.Column
End If
For Zeile = 4 To 153
    For x = 0 To ListBox1.ListCount - 1
        If WSHistorie.Cells(Zeile, Spalte).Value <> "" And WSHistorie.Cells(Zeile, Spalte). _
Value <> Me.ListBox1.List(x) Then
        Me.ListBox1.AddItem WSHistorie.Cells(Zeile, Saplte).Value
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = WSHistorie.Cells(Zeile, Spalte + 2). _
Value
        End If
    Next x
Next Zeile
End Sub

Bild

Betrifft: AW: ListBox mit BESTIMMTEN Werten befüllen
von: Armin
Geschrieben am: 13.07.2015 10:01:48
Hallo Chris,
lad einmal eine Mappe mit Demodaten hoch ich glaube Du machst etwas prinzipielles Falsch.

Bild

Betrifft: AW: ListBox mit BESTIMMTEN Werten befüllen
von: Chris
Geschrieben am: 13.07.2015 11:30:44
Hi Armin,
habe unter folgendem Link eine passende mappe hochgeladen. Die Klarnamen sind jetzt natürlich durch Zahlencodes ersetzt.
VBA Editor könnt ihr dann das UserForm starten
https://www.herber.de/bbs/user/98796.xlsm
Hoffe Ihr könnt mir jetzt weiterhelfen!
Danke
Chris

Bild

Betrifft: AW: ListBox mit BESTIMMTEN Werten befüllen
von: Armin
Geschrieben am: 13.07.2015 14:59:28
Hallo Chris,
Dein Code hatte einige Fehler. Das befüllen und gleichzeitige Abfragen funktioniert so nicht. Einmal ab gesehen davon das Du es ja nur mit einem Wert vergleichst.
Ich habe einige Zusätzliche Variable definiert. Du brauchst das "Me" bei den meisten Objecten nicht davor schreiben nur bei Methoden z. Bsp. "Me.Unload" da wir ein Object gebraucht. Das merkt der VBA-Code in welchem Teil er steht und ordnet es richtig zu (Userform).
Schaun wir mal ob ich Deine Beschreibung kapiert habe und alles richtig gemacht habe. Also teste mal.
https://www.herber.de/bbs/user/98799.xlsm
Gruß Armin

Bild

Betrifft: AW: ListBox mit BESTIMMTEN Werten befüllen
von: Chris
Geschrieben am: 13.07.2015 15:37:11
Servus Armin,
Danke für deine Hilfe! Die UserForm macht jetzt genau das was ich wollte :)
Das mit der Definition einer eigenen Funktion hätte ich nie alleine hinbekommen. Deinen Code genau zu verstehen wird auch noch ein bisschen dauern, aber dass ich in einer Schleife nicht gleichzeitig befüllen und im nächsten Durchlauf gleich wieder darauf zurückgreifen kann, habe ich jetzt begriffen (glaube ich zumindest).
Ich hoffe, ich kann mit diesem Wissen das Ding später evtl. noch erweitern auf zusätzliche Spalten in der ListBox für den gesamten Durchschnitt für die jeweilige Station etc.
Ansonsten melde ich mich nochmal bei euch/dir!
Vielen Dank für deine Zeit und deinen Kopf!
Grüße
Chris

 Bild

Beiträge aus den Excel-Beispielen zum Thema "ListBox mit BESTIMMTEN Werten befüllen"