in einer UF-Listbox lasse ich diese wie nachfolgend füllen.
Das funktioniert auch.
Die Listbox befindet sich in einem Frame einer Userform.
Jedesmal wenn ich den Frame und aufrufe wird die Listbox zwar gefüllt, jedoch verschiebt sich der Eintrag in der Listbox nach jedem Aufruf um 2 Spalten nach unten.
Die Spalten sind leer!
10 x Aufrufen bedeutet, das der erste Eintrag ab der Spalte 21 beginnt. Alles andere ist leer.
Danke!
Gruß
Sigi
Option Explicit
Private Declare PtrSafe
Function SafeArrayGetDim Lib "oleaut32.dll" ( _
ByRef pArray() As Any) As Long
Sub KD_einlesen()
Dim iRowU As Integer, ii As Integer
Dim arr()
Set WkbD = Workbooks(sData)
Set WksKD = WkbD.Worksheets(KD)
frmStart.lstAlle.Clear
With WksKD
For ii = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If Not IsEmpty(.Cells(ii, 1)) Then
ReDim Preserve arr(0 To 4, 0 To iRowU)
arr(0, iRowU) = .Cells(ii, 1)
arr(1, iRowU) = .Cells(ii, 2)
arr(2, iRowU) = .Cells(ii, 3)
arr(3, iRowU) = .Cells(ii, 27)
arr(4, iRowU) = " "
iRowU = iRowU + 1
End If
Next ii
End With
If SafeArrayGetDim(arr) 0 Then .lstAlle.Column = arr
End Sub