Kombinationsfeld mit Namensbereich
#21
Hallo Chris,

so wie ich das gesehen habe, lag der Wurm an unterschiedlichen Datentypen, hier Text und Zahl, die nicht sortiert werden konnten.
Gruß Atilla
Top
#22
Hallo Chris,

danke für die schnelle Rückmeldung. Hatte zwar beim Öffnen deiner Datei nochmal kurz ne Fehlermeldung aber jetzt gehts einwandfrei.

Auch wenn die Wahrscheinlichkeit hoch ist, das ich es nicht verstehe, aber könntest du mir sagen was der Fehler war? (Ich versuch immer noch dazuzulernen...)

Vielen Dank und schöne Grüße

Thomas
Top
#23
Hallo Attila, hallo Thomas

Das war es! Zahlen und Text gemischt
*grins* ich habe nur verschobene Daten gesehen und gleich mal angeordnet und die Aktualisierung über die Spalteneingabe deaktiviert.

Hier mal auch mit "MischMaschDaten"

Code:
Public Function comeOn(rng As Variant) As Variant
Dim Var_Item As Variant, objAL As Object
Set objAL = CreateObject("System.Collections.Arraylist")
With objAL
    For Each Var_Item In rng
        If Var_Item.Value <> "" Then
            If Not .contains(CStr(Var_Item.Value)) Then .Add CStr(Var_Item.Value)
        End If
    Next
    .Sort
    comeOn = WorksheetFunction.Transpose(.toArray)
End With
Set objAL = Nothing
End Function

dann geht es auch mit Zahlen, nur.....
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Top
#24
Hallo zusammen,

@Thomas
Ich würde hier noch das Activate der Tabelle nutzen:


Code:
Private Sub Worksheet_Activate()
 Call cbb
End Sub


@Chris
ich habe natürlich etwas rumgespielt und habe fesgestellt das die Daten auch ohne Application.Transpose richtig eingelesen werden.
Kannst Du das bestätigen?
Und auf diese Art gleich mehrere Spalten einlesen geht wohl nicht, oder?
Gruß Atilla
Top
#25
So,

noch etwas ... was ist wenn gar kein Eintrag vorhanden ist ;)

dann bitte cbb ersetzen durch

Code:
Sub cbb()
Dim rng As Range
Set rng = Tabelle6.ListObjects(1).ListColumns(3).DataBodyRange
If WorksheetFunction.CountA(rng) > 0 Then
    Tabelle1.ComboBox23.List = comeOn(rng)
End If
End Sub
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Top
#26
Hallo Attila,

ArryList ist immer einspaltig. Das ist natürlich wieder ein Nachteil, dafür sind die Dinger "saugut" bei einspaltiger Anwendung.
Das mit dem Transpose müsste ich selber noch testen.

...
Das liegt wohl an der .List Eigenschaft der Combo die sowohl Daten waagrecht wie senkrecht nimmt.
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste