Сортировка работает некорректно - VB
Формулировка задачи:
Доброго времени суток! Есть сортировка. Она работает идеально только в случае, когда один столбец (в массиве кроме числе больше ничего нет).
У меня данные в таком виде:
массив dat_ls
01.01.2028 01.01.2017 123
01.02.2014 05.07.2014 456
01.05.2026 07.01.2019 000
Надо отсортировать данные по 1-му или 2-му столбцу так, чтобы данные сохранились (как в EXCEL).
А данные сохраняются только в том столбце, который сортируется.
Помогите, пожалуйста, как мне видоизменить код, чтобы данные совместно сортировались?
Решение задачи: «Сортировка работает некорректно»
textual
Листинг программы
Sub Sort_(Arr() As String, nCol As Integer) s% = LBound(Arr, 1) e% = UBound(Arr, 1) For i% = s% To e% - 1 For j% = i% + 1 To e% If CDate(Arr(i%, nCol%)) > CDate(Arr(j%, nCol%)) Then For k% = LBound(Arr, 2) To UBound(Arr, 2) tmp$ = Arr(i%, k%) Arr(i%, k%) = Arr(j%, k%) Arr(j%, k%) = tmp$ Next k% End If Next j% Next i% End Sub Sub Test() Dim X(1 To 3, 1 To 3) As String X(1, 1) = "01.01.2028" X(1, 2) = "01.01.2017" X(1, 3) = "123" X(2, 1) = "01.02.2014" X(2, 2) = "05.07.2014" X(2, 3) = "456" X(3, 1) = "01.05.2026" X(3, 2) = "07.01.2019" X(3, 3) = "000" Debug.Print "Сортировка по 1-й колонке" Debug.Print Sort_ X, 1 For i% = 1 To 3 For j% = 1 To 3 Debug.Print X(i%, j%); " "; Next j% Debug.Print Next i% Debug.Print Debug.Print "Сортировка по 2-й колонке" Debug.Print Sort_ X, 2 For i% = 1 To 3 For j% = 1 To 3 Debug.Print X(i%, j%); " "; Next j% Debug.Print Next i% Debug.Print End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д