mit dem untenstehenden Code für eine Userform (aus dem Internet) werden mir Suchtreffer ausgegeben. In Spalte F:F ist in der Excel-Liste das Datum hinterlegt, die Excel-Liste wird fortlaufend ergänzt, daher ist das jüngste Datum immer am Schluss der Excel-Liste.
So ist es dann natürlich auch bei den Suchtreffern in der Userform.
Was muss geändert werden, damit in der Userform das jüngste Datum oben ist, also absteigend sortiert. Die Excel-Liste selbst sollte nicht verändert werden.
Private Sub cmdSearch_Click()
Dim objSH As Worksheet
Dim rngSearch As Range
Dim strFirst As String
Dim Lz As Long
If txtSearch "" Then
ListBox1.Clear
Set objSH = Sheets("Test")
With objSH
Lz = Application.Max(23, .Cells(Rows.Count, 2).End(xlUp).Row)
Set rngSearch = .Range("A23:F" & Lz).Find(What:=txtSearch, LookIn:=xlValues, LookAt:=xlPart, _
MatchCase:=False, After:=.Cells(23, 1))
If Not rngSearch Is Nothing Then
strFirst = rngSearch.Address
Do
If .Cells(rngSearch.Row, 3) = ComboBox1.Text Or ComboBox1.Text = "Alle" Then
ListBox1.AddItem .Cells(rngSearch.Row, 1)
ListBox1.List(ListBox1.ListCount - 1, 1) = .Cells(rngSearch.Row, 2)
ListBox1.List(ListBox1.ListCount - 1, 2) = .Cells(rngSearch.Row, 3)
ListBox1.List(ListBox1.ListCount - 1, 3) = .Cells(rngSearch.Row, 5)
ListBox1.List(ListBox1.ListCount - 1, 4) = .Cells(rngSearch.Row, 6)
ListBox1.List(ListBox1.ListCount - 1, 5) = .Cells(rngSearch.Row, 7)
End If
Set rngSearch = .Range("A23:F" & Lz).FindNext(rngSearch)
Loop While Not rngSearch Is Nothing And rngSearch.Address strFirst
End If
End With
If ListBox1.ListCount = 0 Then ListBox1.AddItem "Kein Treffer!"
End If
End Sub
Besten Dank für die Hilfe und Servus, Walter