首页 > 解决方案 > 对列表框中的日期进行排序

问题描述

我正在尝试在包含三列的列表框中按降序对日期进行排序。

我有两个列表框。当我单击第一个列表中的某个项目时,日期应按降序显示在第二个列表中。

日期在第二列,位于单元格(34,i)的工作表上,如下所示:

me.listbox1.list(me.listbox2.listcount -1,1)=ws.Cells(34,i)

我试过这段代码:(Listbox_click)

Dim y, x As Integer
Dim MyList As Variant

With Me.ListBox_Histo_IT
    For y = 0 To .ListCount - 1
        For x = y To .ListCount - 2
            If .List(x, 1) < .List(y, 1) Then
                For c = 0 To 2
                    MyList = .List(y, c)
                    .List(x, c) = .List(y, c)
                    .List(y, c) = MyList
                Next c
            End If
        Next x

    .List(y, 2) = Format(.List(y, 2), "####.00")
    Next y
End With

标签: excelvba

解决方案


这是现在的代码:@CDP1802 它完美运行感谢大家:) Dim y, x As Integer Dim MyList As Variant

With Me.ListBox_Histo_IT
    For y = 0 To .ListCount - 1
        For x = y To .ListCount - 2
            If CDate(.List(x, 1)) > CDate(.List(y, 1)) Then
                For c = 0 To 2
                    MyList = .List(x, c)
                    .List(x, c) = .List(y, c)
                    .List(y, c) = MyList
                Next c
            End If
        Next x

    .List(y, 2) = Format(.List(y, 2), "####.00")
    Next y
End With

推荐阅读