AW: UF Fehler bei Start
20.07.2022 20:46:09
Nepumuk
Hallo Fred,
im Modul deines UserForms:
Private Sub UserForm_Initialize()
ComboBox1.ListRows = 18
'True --> Initialisierung der Combobox
'Filter deaktivieren
With Tabelle3
If .FilterMode Then Call .ShowAllData
End With
Call UF1_Standard(Me, True)
End Sub
Im Modul UF1:
Public Sub UF1_Standard(xUF As UserForm, xOK As Boolean)
Dim i
Dim arr_Liste As Variant, objArrayList As Object
'arr_Filter = Array("Nr", "Datum", "Liga", "Spiel") 'Ein Array mit den Filter Optionen
With xUF
If xOK Then
.ListBox1.ColumnCount = 4
.ListBox1.ColumnWidths = "5cm; 5cm; 4cm; 2cm"
End If
'In dieser Routine laden wir alle vorhandenen
'Einträge in die ListBox1
.ListBox1.Clear 'Zuerst einmal die Liste leeren
arr_Liste = Tabelle3.ListObjects("tab_import").DataBodyRange.Value
.ListBox1.List = arr_Liste
If xOK Then
'die beide nachfolgenden Objekte stellt das Betriebssystem seit Win-XP SP3 bereit
'sortiertes ListArray (aus dem Dot.Net-Framework)
'Vorteil: alle übernommenen Einträge werden automatisch sortiert
'Sonstiges: keine doppelten Werte möglich / für die Combobox ein Vorteil
'normale Arrayliste (aus dem Dot.Net-Framework)
'erforderlich, da die Listbox mit 'objSortList' nichst anfangen kann
Set objArrayList = CreateObject(Class:="System.Collections.ArrayList")
'alle Familiennamen in Array 'arr_Liste' durchlaufe
For i = 1 To UBound(arr_Liste, 1)
'es werden keine Fam-namen übernommen, die schon vorhanden sind
'und gleichzeitig werden die vorhandenen Namen sortiert!
If Not objArrayList.Contains(arr_Liste(i, 1)) Then Call objArrayList.Add(arr_Liste(i, 1))
Next i
'Daten aus dem sortierten Array in eine Arrayliste schreiben
Call objArrayList.Sort
Call objArrayList.Insert(0, "")
'Combobox füllen
.ComboBox1.List = objArrayList.ToArray
End If
End With
Set objArrayList = Nothing
End Sub
Gruß
Nepumuk