Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Text in Combobox sortieren

Text in Combobox sortieren
04.02.2020 18:26:58
Jörg
Hallo Fachleute,
mit nachstehendem Code fülle ich die Comboboxes in meiner Userform (ohne Duplikate).
Diese Einträge würd ich gern noch sortiert angezeigt bekommen (A-Z).
Private Sub UserForm_Initialize()
Dim oDic As Object, meAr
Dim A As Long
Dim S As Long
For S = 1 To 10 'Variable für Spalten A bis H
Controls("Box" & S).RowSource = ""
Set oDic = CreateObject("Scripting.Dictionary") '
With Sheets("Arten")
meAr = .Range(.Cells(1, S), .Cells(.Rows.Count, S).End(xlUp))
End With
For A = 1 To UBound(meAr)
oDic(meAr(A, 1)) = 0
Next
Controls("Box" & S).List = oDic.keys  'Box1, Box2, Box3, Box4-Box8
oDic.RemoveAll
Next
Set oDic = Nothing
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text in Combobox sortieren
04.02.2020 18:28:25
Jörg
Sorry, zu schnell abgeschickt.
Vielen Dank schon mal im Voraus.
VG Jörg
AW: Text in Combobox sortieren
04.02.2020 18:42:39
Daniel
Hi
eine ganz einfache Methode wäre diese.
Dim X
Dim meArr
Dim i As Long
meArr = Cells(1, 1).CurrentRegion.Value
ListBox1.Clear
For Each X In meArr
For i = 0 To ListBox1.ListCount - 1
If X  X Then
ListBox1.AddItem X, i
End If
Next

Man nutzt hier aus, dass man mit .AddItem einen Wert nicht nur am Ende der Listbox einfügen kann, sondern auch zwischen drin.
hierbei kann man auch gleich die Duplikate ausschließen, so dass man kein Dictionary oder sonstige fortgeschrittene Programmiertechniken benötigt:
Gruß Daniel
Anzeige
AW: Text in Combobox sortieren
04.02.2020 19:00:19
Jörg
Hallo Daniel,
habe plötzlich mit meinem geposteten Code das Problem, dass die Comboboxes für die Spalten A-C
überhaupt nicht mehr gefüllt werden. Alle anderen jedoch wie bisher.
Zu Deinem Code:
Wie schreib ich den so um, dass er auf die 10 Comboboxes paßt?
VG Jörg
AW: Text in Combobox sortieren
04.02.2020 19:11:40
Jörg
Also das erste Problem hat sich erstmal erledigt. Hatte auf einmal mehrere Comboboxes übereinander zu liegen. Mir völlig unverständlich.
Bliebe noch Dein Code.
Wie mach ich das?
VG Jörg
AW: Text in Combobox sortieren
05.02.2020 01:13:03
Daniel
so, wie du das in deinem bisherigen Code auch machst.
eine schleife drumrum und die Comboboxen nicht über den festen Namen, sondern über die Controls-Funktion unter verwendung des Schleifenzählers ansprechen
aber warum muss ich dir nochmal erklären, was du eigentlich schon kannst?
Sorry, versteh ich nicht.
Gruß Daniel
Anzeige
AW: Text in Combobox sortieren
06.02.2020 19:12:06
Jörg
Hallo Daniel,
tut mir ja leid, aber Du überschätzt da möglicherweise meine Kenntnisse.
Den Code hatte ich aus dem Netz und auch schon hier mit einer Frage gepostet.
Habs mal so probiert.
Krieg allerdings den Fehler "Next ohne For".
Sub Dat_sort()
Dim X
Dim meArr
Dim i As Long
Dim S As Long
meArr = Cells(1, 1).CurrentRegion.Value
'ListBox1.Clear
For Each X In meArr
For i = 0 To Controls("Box" & i).ListCount - 1
If X  X Then
Controls("Box" & i).AddItem X, i
End If
Next
End Sub

Vielleicht siehst Du den Fehler ?
Vielen Dank schon mal
Anzeige
AW: Text in Combobox sortieren
10.02.2020 20:42:17
Daniel
Ich bin der Meinung, dass man nur Codes aus dem Internet kopieren sollte, die man auch versteht. Denn du trägst die Verantwortung dafür, dass solche Codes auch funktionieren und nicht derjenige, der den Code ins Internet gestellt hat.
Ansonsten hast du hier übersehen, dass jeder If-Block, der nicht vollständig in einer Programmzeile steht, ein End If benötigt um anzuzeigen, dass der IF-Block zu Ende ist. Nur wenn du nach dem THEN in der gleichen Zeile weiterschreibst, darfst das End If weglassen.
Die Fehlermeldung ist hier verwirrend, was aber der Schrittweisen Interpretation des Quelltextes geschuldet ist.
If-Blöcke und Schleifen können immer nur ineinander geschachtelt werden.
Da du kein EndIf hast, gehört das NEXT noch zu diesem IF-Block und das daszugehörige For muss zwischen dem IF und dem NEXT vorhanden sein.
Daher ist “Next ohne For" der erste auftretende Fehler, da das EndIf ja noch später im Code stehen könnte.
Ebenso das Next zu dem For, das vor dem If steht.
Gruß Daniel
Anzeige
AW: Text in Combobox sortieren
11.02.2020 11:04:48
Jörg
Moin,
hatte nicht mehr mit einer Reaktion gerechnet.
Krieg jetzt den
Laufzeitfehler '1004': "Anwendungs- oder objektdefinierter Fehler
an dieser Zeile:
meArr = Cells(1, i).CurrentRegion.Value
Sub Dat_sort()
Dim X
Dim meArr
Dim i As Long
meArr = Cells(1, i).CurrentRegion.Value
'ListBox1.Clear
For Each X In meArr
For i = 0 To Controls("Box" & i).ListCount - 1
If X  X Then
Controls("Box" & i).AddItem X, i
End If
Next
End Sub

Danke Dir.
VG Jörg

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige