alexanderinfo
Gebruiker
- Lid geworden
- 24 mrt 2008
- Berichten
- 95
Heren en dames van dit mooie forum,
Ik heb een probleem en hoopte dat iemand hier mij een oplossing kan bieden.
Ik heb een script die de gegevens uit een kolom op alfabetische volgorde in een combobox plaatst.
Nou zou ik graag de functie split willen toepassen op die lijst, zodat enkel het eerste woord wordt getoond in de combobox.
De gegevens in de betreffende kolom zijn personalia gegevens: Naam, voorletters, voorvoegsels (gescheiden met een komma)
Ik wil dus enkel de achternaam zichtbaar hebben in de combobox.
Hopelijk is er iemand die mij hiermee kan helpen.
Alvast bedankt.
Ik heb een probleem en hoopte dat iemand hier mij een oplossing kan bieden.
Ik heb een script die de gegevens uit een kolom op alfabetische volgorde in een combobox plaatst.
Nou zou ik graag de functie split willen toepassen op die lijst, zodat enkel het eerste woord wordt getoond in de combobox.
Code:
Private Sub UserForm_Initialize()
'trekt gegevens uit de tabel en zet deze in alfabetische volgorde
Dim i As Long
Dim MyList As Range
Dim cel As Range
Dim d As Variant, It As Variant, a As Variant
'=====//naam aanvrager//=====
Set d = CreateObject("Scripting.Dictionary")
Set MyList = Range(Cells(3, 3), Cells(Rows.Count, 3).End(xlUp))
'Create list of unique items using a Dictionary object
On Error Resume Next
For Each It In MyList
d.add It.Value, It.Value 'Add keys and items
Next
'Create an array of unique items
a = d.Items
'Sort the array
Quick_Sort a, 0, UBound(a)
cboOrg.List() = a
End Sub
Private Sub Quick_Sort(ByRef SortArray As Variant, ByVal First As Long, ByVal Last As Long)
Dim Low As Long, High As Long
Dim Temp As Variant, List_Separator As Variant
Low = First
High = Last
List_Separator = SortArray((First + Last) / 2)
Do
Do While (SortArray(Low) < List_Separator)
Low = Low + 1
Loop
Do While (SortArray(High) > List_Separator)
High = High - 1
Loop
If (Low <= High) Then
Temp = SortArray(Low)
SortArray(Low) = SortArray(High)
SortArray(High) = Temp
Low = Low + 1
High = High - 1
End If
Loop While (Low <= High)
If (First < High) Then Quick_Sort SortArray, First, High
If (Low < Last) Then Quick_Sort SortArray, Low, Last
End Sub
De gegevens in de betreffende kolom zijn personalia gegevens: Naam, voorletters, voorvoegsels (gescheiden met een komma)
Ik wil dus enkel de achternaam zichtbaar hebben in de combobox.
Hopelijk is er iemand die mij hiermee kan helpen.
Alvast bedankt.