Listenfeld sortiert hochladen

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

Betrifft: Listenfeld sortiert hochladen von: Axel
Geschrieben am: 03.03.2005 18:19:19

Hallo Leute,

habe eigentlich ein kleines Problem, komme aber nicht weiter.
Ich habe einen Tabellenbereich von "A2:M400" voll mit Daten.
Über eine Userform fülle ich das Listenfeld mit den Daten aus dem Tabellenbereich.
Das mache ich folgendermaßen ...


Private Sub UserForm_Initialize()
Dim lR%
lR = Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
ListBox1.RowSource = "Tabelle1!A2:M" & lR
ListBox1.ListIndex = 0
ListBox1.ColumnCount = 4
End Sub


Soweit, so gut.

Ich möchte nun aber nur die Zeilen (z.B. Zeile 5 und 12 und 17, jeweils Spalte A bis M) im Listenfeld sehen, die dem Suchkriterium "Metall" aus der Spalte "B" entsprechen.

Wie mache ich das ???, ich lege mir schon seit einer Stunde die Karten.
Kann Mir jemand helfen?

MfG, Axel
Bild


Betrifft: AW: Listenfeld sortiert hochladen von: Bert
Geschrieben am: 03.03.2005 18:56:34

Das geht nicht mit RowSource, lies die Daten zunächst in einen Array und füll damit die Listbox.

Bert


Bild


Betrifft: AW: Listenfeld sortiert hochladen von: P@ulchen
Geschrieben am: 03.03.2005 19:04:59

Hi Axel,

probier so:



Private Sub UserForm_Initialize()
Dim arr() As Variant
Dim iRowL As Integer, iRow As Integer, iCol As Integer, iRowU As Integer
ListBox1.Clear
ListBox1.ColumnCount = 4
iRowL = Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
For iRow = 1 To iRowL
    If Worksheets("Tabelle1").Cells(iRow, 2) = "Metall" Then
        ReDim Preserve arr(0 To 3, 0 To iRowU)
        arr(0, iRowU) = Cells(iRow, 1)
        arr(1, iRowU) = Cells(iRow, 2)
        arr(2, iRowU) = Cells(iRow, 3)
        arr(3, iRowU) = Cells(iRow, 4)
        iRowU = iRowU + 1
    End If
Next iRow
ListBox1.Column = arr
ListBox1.ListIndex = 0
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5




Gruß aus Leipzig
P@ulchen

Das Forum lebt auch von den Rückmeldungen !


Bild


Betrifft: AW: Listenfeld sortiert hochladen von: Axel
Geschrieben am: 03.03.2005 19:20:42

Hallo P@ulchen aus Leipzig,

absolut der Treffer !!! Genauso hatte ich mir das vorgestellt. Danke dafür !!!.
Trotzdem noch eine Frage. Wie erreiche ich, das in dem Listenfeld mit der Eigenschaft "ColumnHeads = True" auch immer die Kopfzeile aus "Zeile 1" der Tabelle erscheint ?

Hast Du noch einen Tipp?

MfG, Axel aus Potsdam


Bild


Betrifft: AW: Listenfeld sortiert hochladen von: P@ulchen
Geschrieben am: 03.03.2005 20:11:59

Hallo Axel,

setze die Spaltenüberschriften mittels Labels über die ListBox.
Die Variante mit "ColumnHeads = True" funktioniert meines Wissens nur bei Füllen der ListBox über RowSource.



Gruß aus Leipzig
P@ulchen

Das Forum lebt auch von den Rückmeldungen !


Bild


Betrifft: AW: Listenfeld sortiert hochladen von: Axel
Geschrieben am: 03.03.2005 20:29:40

Hallo P@ulchen,

ja, das habe auch gemerkt. Leider erscheint im Listenfeld der horizontale Scrollbalken, da die Einträge umfangreich sind. Wahrscheinlich muss ich mir noch eine andere Darstellung einfallen lassen, vielleicht weniger Spalteneinträge oder geteilt, mal sehen.

Trotzdem vielen Dank für Deine Unterstützung.

MfG, Axel


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Listenfeld sortiert hochladen"