wie kann ich eine ComboBox mit den Inhalten von Spalte 1 (Familienname) und Spalte 2 (Vorname) im Verhältnis 60:40 2-spaltig alphabetisch sortiert befüllen? Nach dem Einlesen und sortieren soll der erste mit dem Buchstaben A beginnende Familienname mit dem zugehörigen Vornamen angezeigt werden.
Mit nachfolgendem Beispielcode erscheint nach dem Einlesen zwar der 1. mit A beginnende Familienname sortiert im Anzeigefenster der ComboBox, die Vornamen werden allerdings nicht mit sortiert; es wird auch kein Vorname im Anzeigefenster angezeigt.
Dim Datensätze%, Anzahl%, MA()
Private Sub UserForm_Initialize()
[a1].CurrentRegion.Select
Datensätze = Selection.Rows.Count
ReDim MA0(Datensätze - 2, 1)
With UserForm2.cboNamen
.ColumnCount = 2
.ColumnWidths = "60;40"
End With
For Anzahl = 2 To Datensätze
MA(Anzahl - 2, 0) = Selection.Cells(Anzahl, 1)
UserForm2.cboNamen.List = MA
'UserForm2.cboNamen.ListIndex = 0
Next Anzahl
For Anzahl = 2 To Datensätze
MA(Anzahl - 2, 1) = Selection.Cells(Anzahl, 2)
UserForm2.cboNamen.List = MA
UserForm2.cboNamen.ListIndex = 0
Next Anzahl
Range("A1").Select
Sortierung Familienname:
With cboNamen
If .ListCount = 0 Then Exit Sub
vErster = 0
vLetzter = .ListCount - 1
For vAktuell = vErster To vLetzter
For vNächster = vAktuell + 1 To vLetzter
If .List(vAktuell) > .List(vNächster) Then
vBuffer = .List(vNächster)
.List(vNächster) = .List(vAktuell)
.List(vAktuell) = vBuffer
End If
Next vNächster
Next vAktuell
End With
End Sub
Kann mir jemand verraten wie der Code erweitert werden muss um meinen Wunsch vollständig zu erfüllen?
mfg
reiner