28.02.2022, 08:08
Hallo Markus,
vielleicht so:
vielleicht so:
Code:
Private Sub UserForm_Initialize()
Dim avntValues As Variant
Dim ialngIndex As Long, lngIndex As Long
Dim objArrayList As Object
avntValues = SpaltenAuswahl(GetValues)
With ListBox1
.ColumnCount = UBound(avntValues, 2)
.List = avntValues
End With
Set objArrayList = CreateObject(Class:="System.Collections.ArrayList")
For lngIndex = 1 To 8
For ialngIndex = LBound(avntValues, 1) To UBound(avntValues, 1)
If Not objArrayList.Contains(avntValues(ialngIndex, lngIndex)) Then _
Call objArrayList.Add(avntValues(ialngIndex, lngIndex))
Next
Call objArrayList.Sort
Controls("ComboBox" & CStr(lngIndex)).List = objArrayList.ToArray
Call objArrayList.Clear
Next
Set objArrayList = Nothing
End Sub
Private Function SpaltenAuswahl(varR As Variant) As Variant
Dim i As Long, j As Long
Dim varC As Variant, varL As Variant
'A, C, D, E, F, I, K , L , M , O
varC = Array(1, 3, 4, 5, 6, 9, 11, 12, 13, 15)
ReDim varL(1 To UBound(varR), 0 To UBound(varC))
For i = 2 To UBound(varR)
For j = 0 To UBound(varC)
varL(i - 1, j) = varR(i, varC(j))
Next j
Next i
SpaltenAuswahl = varL
End Function
Dim avntValues As Variant
Dim ialngIndex As Long, lngIndex As Long
Dim objArrayList As Object
avntValues = SpaltenAuswahl(GetValues)
With ListBox1
.ColumnCount = UBound(avntValues, 2)
.List = avntValues
End With
Set objArrayList = CreateObject(Class:="System.Collections.ArrayList")
For lngIndex = 1 To 8
For ialngIndex = LBound(avntValues, 1) To UBound(avntValues, 1)
If Not objArrayList.Contains(avntValues(ialngIndex, lngIndex)) Then _
Call objArrayList.Add(avntValues(ialngIndex, lngIndex))
Next
Call objArrayList.Sort
Controls("ComboBox" & CStr(lngIndex)).List = objArrayList.ToArray
Call objArrayList.Clear
Next
Set objArrayList = Nothing
End Sub
Private Function SpaltenAuswahl(varR As Variant) As Variant
Dim i As Long, j As Long
Dim varC As Variant, varL As Variant
'A, C, D, E, F, I, K , L , M , O
varC = Array(1, 3, 4, 5, 6, 9, 11, 12, 13, 15)
ReDim varL(1 To UBound(varR), 0 To UBound(varC))
For i = 2 To UBound(varR)
For j = 0 To UBound(varC)
varL(i - 1, j) = varR(i, varC(j))
Next j
Next i
SpaltenAuswahl = varL
End Function
Gruß Uwe