for.. next für Werte in listbox

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

Betrifft: for.. next für Werte in listbox
von: marla
Geschrieben am: 04.12.2003 10:12:44

Hi!

ich lese über eine for.. next Schleife Werte in eine listbox in einem userform ein. Das Problem dabei ist jetzt nur, das er immer nur jeden 2. Wert aus einem best. Bereich der 1. Spalte nehmen soll. Mit step 2 klappt es auch, nur hab ich dann immer eine Leerzeile in der listbox, das sieht nicht wirklich gut aus (auch weil in jeder dieser Zeilen ein Optionsbutton ist und eben auch in den Leerzeilen)! Der Code den ich verwende sieht so aus:


Private Sub UserForm_Initialize()
Dim l As Object
Dim a, i, z As Long
With Worksheets("Bestand_Details").Range("A:A")
    Set l = .Find("VB", LookIn:=xlValues, LookAt:=xlWhole)
    z = Cells(Rows.Count, 1).End(xlUp).Row
    a = l.Offset(1, 0).Row
    ReDim Arr(0 To (z - a), 0 To 1) As Variant
    For i = a To z Step 2
        Arr(i - a, 0) = .Cells(i, 1).Text
    Next i
End With
With Produktion_loeschen
    .ColumnCount = 1
    .ListStyle = fmListStyleOption
    .List = Arr
End With
End Sub


Hoffe ihr könnt mir helfen!
lg marla
Bild


Betrifft: AW: for.. next für Werte in listbox
von: Galenzo
Geschrieben am: 04.12.2003 12:18:50

Hallo,
stimmt - dadurch, daß du i in Zweier-Schritten hochzählst setzt du natürlich auch nur jeden 2. Eintrag. Mein Vorschlag auf die Schnelle:
For i = a To z
Arr(i - a, 0) = .Cells(i*2, 1).Text
Next i

Also nicht in 2er-Schritten zählen sondern die Zellen der Zeile (I*2) nehmen
Probier's einfach mal...

Viel Erfolg!


Bild

Beiträge aus den Excel-Beispielen zum Thema " for.. next für Werte in listbox"