ich verwende aktuell folgenden Code um eine Combobox ohne Duplikate zu befüllen:
Private Sub UserForm_Initialize()
Set wbBook = ThisWorkbook
Set wsSheet = wbBook.Worksheets("BLA")
Dim lRow As Long
With wsSheet
For lRow = 2 To .Cells(.Rows.Count, 7).End(xlUp).Row
If WorksheetFunction.CountIf(.Range("G2:G" & CStr(lRow)), Cells(lRow, 7)) = 1 Then
Combobox1.AddItem .Cells(lRow, 7).Text
End If
Next
End With
End Sub
Der Code bezieht sich pauschal auf Spalte G bzw. 7, das Einzulesende fällt unter Textformat.
Nun möchte ich den Spaltenbezug variable gestalten und die Liste noch sortieren, komme aber einfach nicht klar mit vorhandenen Codes im Netz und selbst kann ich es einfach nicht selbst schreiben...
Grundsätzlich geht es darum, dass statt G(Spalte 7) es die Spalte anspricht deren Überschrift (Zeile 1) in einer anderen Combobox ("Combobox2") angewählt wird.
D.h. Value von Combobox 2 muss innerhalb des Tabellenblatts (wsSheet) in Zeile 1:1 gesucht werden und dann die entsprechende Spalte ab Zeile 2 bis letzte Zeile (("X2:X" & CStr(lRow)) eingelesen werden - dies ohne Duplikate und sortiert.
Ich hoffe sehr auf eine hilfswilligen Profi, hab mir diesen "einfach Vorgang" nicht so schwer umsetzbar vorgestellt. Im Netz gibts schon alleine zig Varianten für das Sortieren, z.B. als Array oder mit Hilfsspalte die dann wieder gelöscht wird - ich kriege aber einfach nicht hin ...
Vielen lieben Dank im Voraus und schöne Grüße,
Chris