السلام عليكم
لفرز البيانات في الليست بوكس متعدد الأعمدة نستخدم هذا الكود
هنا الفرز للعمود رقم ( 4 )
Dim i As Long
Dim j As Long
Dim sTemp As String
Dim sTemp2 As String
Dim sTemp3 As String
Dim sTemp4 As String
Dim sTemp5 As String
Dim LbList As Variant
LbList = Me.ListBox1.List
For i = LBound(LbList, 1) To UBound(LbList, 1)
For j = i + 1 To UBound(LbList, 1)
'--------------------------------------------------------------------
' C,a'E^N~E^i'E` E`a"C,A' U'a'i` C,a'U'a~?I" C,a'E"C,a"i`
If LbList(i, 3) > LbList(j, 3) Then
sTemp = LbList(i, 0)
LbList(i, 0) = LbList(j, 0)
LbList(j, 0) = sTemp
sTemp2 = LbList(i, 1)
LbList(i, 1) = LbList(j, 1)
LbList(j, 1) = sTemp2
sTemp3 = LbList(i, 2)
LbList(i, 2) = LbList(j, 2)
LbList(j, 2) = sTemp3
sTemp4 = LbList(i, 3)
LbList(i, 3) = LbList(j, 3)
LbList(j, 3) = sTemp4
sTemp5 = LbList(i, 4)
LbList(i, 4) = LbList(j, 4)
LbList(j, 4) = sTemp5
sTemp6 = LbList(i, 5)
LbList(i, 5) = LbList(j, 5)
LbList(j, 5) = sTemp6
End If
Next j
Next i
Me.ListBox1.Clear
Me.ListBox1.List = LbList
المشكلة اذا كانت البيانات في العمود المفروز = تاريخ ( منسق على شكل يوم \ شهر \ سنة ) - لان الفرز سيتم حسب اليوم فقط
السؤال : كيف يمكن جعل الفرز حسب اليوم ثم الشهر ثم السنة