Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sortierte ListBox

Forumthread: Sortierte ListBox

Sortierte ListBox
07.02.2019 07:00:23
Torsten
Hallo Leute,
brauche dringend eure Hilfe mit einer Listbox und deren Sortierung. Ich habe eine Listbox mit 5 Spalten. Ich importiere Daten aus einer anderen Datei in eine Hilfstabelle (Sheet3) in ThisWorkbook.
Sub Start_OverdEU()
Dim X As Long
Dim FileQ As String, WBQ As String, WSQ As String
FileQ = "C:\Users\torsten.wetzel\Documents\Torsten.Wetzel\Office\EXCEL\GBC Tools\Activity  _
Tracker shared\Activity_Tracker_21G Test.xlsm"
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next
Workbooks.Open Filename:=FileQ
If Err.Number > 0 Then MsgBox Err.Description
On Error GoTo 0
Application.EnableEvents = True
WBQ = "Activity_Tracker_21G Test.xlsm"
WSQ = "Expediting - Overdues 1"
With Workbooks(WBQ).Sheets(WSQ)
X = .Range("C" & Rows.Count).End(xlUp).Row
ThisWorkbook.Sheets("Sheet3").UsedRange.Clear
.Range("C11:K" & X).Copy ThisWorkbook.Sheets("Sheet3").Range("A1")
End With
Application.Wait (Now + TimeValue("00:00:02"))
Workbooks(WBQ).Close savechanges:=False
Call SortList
Application.ScreenUpdating = True
Application.Wait (Now + TimeValue("00:00:02"))
OverdEU.Show
End Sub
Wie ihr seht, versuche ich mit "Call SortList" diese importierten Daten zu sortieren:
Sub SortList()
Dim strColumn As String
Dim strRange As String
Dim X As Long
With ThisWorkbook.Sheets("Sheet3")
X = .Range("A" & Rows.Count).End(xlUp).Row
strRange = "A1:I" & X
strColumn = "E"
Range(strRange).Sort Key1:=Range(strColumn & "1"), Order1:=xlAscending, Header:=xlNo
End With
End Sub
und will dann die Listbox mit den sortierten Daten fuellen:
Private Sub UserForm_Initialize()
Dim I As Integer
Dim X As Long
Me.LBOverdEU.Clear
X = ThisWorkbook.Sheets("Sheet3").Range("A" & Rows.Count).End(xlUp).Row
For I = 1 To X
Me.LBOverdEU.ColumnCount = 5
Me.LBOverdEU.ColumnWidths = "6cm;3cm;1cm;6cm;3cm"
Me.LBOverdEU.AddItem
LBOverdEU.List(LBOverdEU.ListCount - 1, 0) = ThisWorkbook.Sheets("Sheet3").Cells(I, 1). _
Text
LBOverdEU.List(LBOverdEU.ListCount - 1, 1) = ThisWorkbook.Sheets("Sheet3").Cells(I, 5). _
Text
LBOverdEU.List(LBOverdEU.ListCount - 1, 2) = ThisWorkbook.Sheets("Sheet3").Cells(I, 6). _
Text
LBOverdEU.List(LBOverdEU.ListCount - 1, 3) = ThisWorkbook.Sheets("Sheet3").Cells(I, 7). _
Text
LBOverdEU.List(LBOverdEU.ListCount - 1, 4) = ThisWorkbook.Sheets("Sheet3").Cells(I, 9). _
Text
Next I
End Sub
Soweit so gut. Die Codes funktionieren auch einzeln. Nur zusammen nicht. Wenn ich den Sortiercode manuell starte nach dem Import und dann den Code zum Fuellen der Listbox starte, klappt alles wunderbar. Lasse ich aber alles von Anfang bis Ende durchlaufen, wird mir die Listbox gefuellt mit den importierten Daten, aber nicht sortiert.
Dachte, dass der Code vielleicht zu schnell durchlaeuft und habe schon mal Stops eingebaut mit Application.Wait. Hilft aber nicht.
Beim Einzelschrittdurchlauf (F8) funktioniert es mit dem Sortieren.
Bitte sagt mir, was ich falsch mache. Wo liegt mein Denkfehler?
Vielen Dank im Voraus.
Gruss Torsten
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortierte ListBox
07.02.2019 07:03:37
Torsten
Noch als kleiner Zusatz:
Wenn ich den Code komplett durchlaufen lasse, wird die importierte Liste auch garnicht sortiert.
Beim Einzelschritt aber schon.
AW: Sortierte ListBox
07.02.2019 07:19:05
Torsten
Und schon zurueck,
hat sich erledigt. Vermutlich lag es an der Kopiermethode. Ich habe ganz normal kopiert mit:
.Range("C11:K" & X).Copy ThisWorkbook.Sheets("Sheet3").Range("A1")
Das hab ich jetzt ersetzt mit:
.Range("C11:K" & X).Copy
ThisWorkbook.Sheets("Sheet3").Range("A1").PasteSpecial xlPasteValues
Application.CutCopyMode = False
also nur Values kopieren. Und siehe Da, es funktioniert. Die Daten kommen sortiert in die Listbox.
Gruss Torsten
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige