Читайте также:
|
|
1. На листе Excel для создания интерфейса пользователя разместите элементы управления: надпись Номер столбца; поле TextBox1 и счетчик SpinButton1 для указания номера столбца; переключатели Option1, Option2 с надписями По возрастанию, По убыванию и кнопку с надписью Сортировать - см. рисунок.
2. Для поля TextBox1 и для счетчика SpinButton1 установите свойство Value=1. Кроме того, для счетчика установите значения свойств Min=1 и Max=20. Для счетчика создайте событийную процедуру SpinButton1_Change() – при изменении пользователем значения счетчика она должна изменять значение TextBox1.Value, делая его равным значению счетчика. Точно так же для поля TextBox1 создайте событийную процедуру TextBox1_Change() – она должна изменять значение (свойство Value) счетчика, как только пользователь изменит значение, хранимое в текстовом поле.
3. Создайте событийную процедуру, соответствующую командной кнопке. Эта процедура должна определить номер j столбца, подлежащего сортировке, количество чисел m в этом столбце и выполнить сортировку методом пузырька. В процедуре зарезервируйте целые переменные i, j, m, переменную F типа Variant и переменные Flag и R типа Boolean. Процедура сортировки методом пузырька может включать следующие блоки:
1) Flag=False (признак того, что еще не было перестановок чисел в столбце j); i=2;
2) R = Cells(i-1,j).Value - Cells(i,j).Value (R = True, если значение в ячейке i-1 больше, чем в i;
3) если надо сортировать по возрастанию, то R = Cells(i,j).Value - Cells(i-1,j).Value;
4) если R=True, то исполняется блок 5;
5) F = Cells(i-1,j).Value; Cells(i-1,j).Value = Cells(i,j).Value; Cells(i,j).Value = F; Flag=True; (перестановка чисел, регистрация этого факта путем присваивания Flag=True)
6) i=i+1; если i <= m, то передача управления блоку 2 - для сравнения следующей пары чисел;
7) Если Flag =True, то передача управления блоку 1, иначе конец, т.к. перестановок не было.
VBA5. Сортировка чисел в столбце по возрастанию или убыванию
Дата добавления: 2015-11-16; просмотров: 207 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Работа с переменными, массивами, константами | | | С созданием формы |