Registriert seit: 14.04.2014
Version(en): 2003, 2007
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
Registriert seit: 15.12.2016
Version(en): 2013
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
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
02.03.2017, 12:01
(Dieser Beitrag wurde zuletzt bearbeitet: 02.03.2017, 12:01 von chris-ka.)
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.
3a2920576572206973742064656e20646120736f206e65756769657269672e
Registriert seit: 14.04.2014
Version(en): 2003, 2007
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
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
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.
3a2920576572206973742064656e20646120736f206e65756769657269672e
Registriert seit: 14.04.2014
Version(en): Office 2013/2016/2019/365
02.03.2017, 12:27
(Dieser Beitrag wurde zuletzt bearbeitet: 02.03.2017, 12:27 von chris-ka.)
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.
3a2920576572206973742064656e20646120736f206e65756769657269672e