Курсовая работа: Решение экономических и бухгалтерских задач с использованием инструментария Visual Basic For Application
8. Сортировка данных
Произвести сортировку данных с Листа5 по столбцу "Абсолютная успеваемость, проц." (таблица 5, лист6).
Необходимо отсортировать данные, полученные в предыдущей программе по возрастанию. При сортировке двумерного массива ипользуется вложенные циклы. Во внешнем цикле используется оператор Do While…Lope, заключённые в нём операторы выполняются до тех пор, пока остаётся истинным условие While. Внутри цикла Do While выполняется два цикла For…Next.
Синтаксис:
For Счётчик1=<начальное значении параметра цикла> To <конечное значение> [ Step Шаг]
For Счётчик2=<начальное значении параметра цикла> To <конечное значение> [ Step Шаг]
[Оператор (ы) тела цикла]
Next Счётчик2
Next Счётчик1
Счётчик по параметру i-количество строк - сортируемый признак предыдущей строки сравнивается с признаком последующей строки. Если признаки первой строки больше признака второй строки, то выполняется цикл по j-количество столбцов, в котором данные этих строк меняются местами.
Sub Сортировка ()
Sheets (" Лист 6"). Select
Dim A () As Variant
n1 = Sheets (" Лист 4"). Cells (5,12)
m = Sheets (" Лист 2"). Cells (5,12)
ReDim A (1 To n1, 1 To m)
VVOD " Лист 5", A, n1, m, 4
VIVOD " Лист 6", A, n1, m, 4
ReDim A (1 To n1, 1 To m)
For i = 1 To n1
For j = 1 To m
A (i, j) = Sheets (" Лист 5"). Cells (i + 4, j)
Sheets (" Лист 6"). Cells (i + 4, j) = A (i, j)
Next j
Next i
Z = 1
Do While Z = 1
Z = 0
For i = 1 To n1 - 1