Typen unverträglich
14.10.2015 21:48:14
PQuest:-)
folgender Code macht Probleme:
Private Sub UserForm_Initialize()
Dim vntQuelle As Variant
Dim dictUnikate As Object
Dim lngLastRow As Long
Dim ws As Worksheet
'Erstellung von Dropdownlisten mit eindeutigen Einträgen
'neue Einträge tauchen automatisch in der Liste auf
Set ws = Worksheets("ListOfPatients")
lngLastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
vntQuelle = ws.Range(Cells(2, 1), Cells(lngLastRow, 1))
vntQuelle = WorksheetFunction.Transpose(vntQuelle)
Call QSort(vntQuelle, LBound(vntQuelle), UBound(vntQuelle))
Me.Controls("cbPatID").Object.List = vntQuelle
End Sub
Sub QSort(ByRef arr, low, hi)Dim i, j, p
While low p = arr(hi)
i = low - 1
For j = low To hi - 1
If arr(j) i = i + 1
Swap arr, i, j
End If
Next
Swap arr, i + 1, j
QSort arr, low, i
low = i + 2
Wend
End Sub Sub Swap(ByRef arr, first, second)
Dim t
t = arr(first)
arr(first) = arr(second)
arr(second) = t
End Sub
Kurz zur Erklärung:
Der Code holt Daten aus Spalte 1 einer Tabelle, sortiert sie und füllt damit die Auswahlliste der Combobox in einem UF.
Leider steigt das Programm in der Zeile
Call QSort(vntQuelle, LBound(vntQuelle), UBound(vntQuelle))
mit "Fehlermeldung 13 Typen unverträglich" aus, wenn Spalte 1 leer ist oder nur einen Wert enthält.
Trage ich die ersten beiden Werte direkt in die Tabelle ein, macht das Userform was es soll.
Was mache ich falsch?
Gruß,
PQuest:-)