需要排序excel multiColumns列表框

时间:2014-12-07 17:28:13

标签: excel vba sorting listbox

有人可以帮我按日期排序列表框吗? 我知道列表框没有内置的排序算法。 它是一个包含12列的列表,第10列是一个日期。 我尝试冒泡排序(有两个嵌套的for语句),但我不能在临时变量中得到整行,所以我可以交换它。 有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

我使用断开连接的记录集进行排序和过滤。

Sub Randomise
    Randomize 
    Set rs = CreateObject("ADODB.Recordset")
     'Define table
    With rs
        .Fields.Append "RandomNumber", 4 
            .Fields.Append "Txt", 201, 5000 
        .Open
             'Add data
        Do Until Inp.AtEndOfStream
            .AddNew
            .Fields("RandomNumber").value = Rnd() * 10000
            .Fields("Txt").value = Inp.readline
            .UpDate
        Loop
              'tell it to sort
        .Sort = "RandomNumber"
              'Write it back out
        Do While not .EOF
            Outp.writeline .Fields("Txt").Value
            .MoveNext
        Loop
    End With
End Sub