Метод Sort
Сортировка позволяет выстраивать данные в лексикографическом порядке по возрастанию или убыванию. Метод Sort осуществляет сортировку строк списков и баз данных, а также столбцов рабочих листов с учетом до трех критериев, по которым производится сортировка. Сортировка данных вручную совершается с использованием команды Данные, Сортировка (Data, Sort). .
Синтаксис:
Объект.Sort(keyl, orderl, key2, order2, key3, order3, header, orderCus-tom,
matchCase, orientation)
Аргументы:
Объект |
Диапазон, который будет сортироваться | ||||
keyl |
Ссылка на первое упорядочиваемое поле | ||||
orderl |
Задает порядок упорядочивания. Допустимые значения: xlDescending (убывающий порядок) |
| |||
key2 |
Ссылка на второе упорядочиваемое поле | ||||
order2 |
Задает порядок упорядочивания. Допустимые значения: xlDescending (убывающий порядок) |
| |||
key3 |
Ссылка на второе упорядочиваемое поле | ||||
order3 |
Задает порядок упорядочивания. Допустимые значения: xlDescending (убывающий Порядок) |
| |||
header |
Допустимые значения: xlGuess (Excel решает, имеется ли заголовок) |
| |||
orderCustom |
Пользовательский порядок сортировки. По умолчанию используется Normal | ||||
matchCase |
Допустимые значения: True (учитываются регистры) и False (регистры не учитываются) | ||||
orientation |
Допустимые значения: О xlTopToBottom (сортировка осуществляется сверху вниз, т. е. по строкам), П xlLeftToRight (слева направо, т. е. по столбцам) | ||||
Например, диапазон А1:С20 рабочего листа лист! сортируется следующей командой в порядке возрастания так, что первоначальная сортировка происходит по первому столбцу этого диапазона, а второстепенная — по второму.
Worksheets("Лист").Range("Al:C20").Sort keyl:=Worksheets("Sheetl").Range("Al"), key2:=Worksheets("Sheetl").Range("Bl")
Приведем соответствие между аргументами метода Sort и сортировкой данных на рабочем листе вручную при помощи команды Данные, Сортировка (Data, Sort).
Шаг 1 |
Выделяем диапазон A1:G13, содержащий записи базы данных о туристах, которые должны быть отсортированы (рис. 3.17). В методе Sort за диапазон с записями, подлежащими сортировке, отвечает объект, к которому применяется метод. В данном случае метод sort надо применить к диапазону Range ("A1 :G13") . |
||
Рис. 3.17. Сортируемые списки
Шаг 2 |
Выберем команду Данные, Сортировка (Data, Sort). В результате появится диалоговое окно Сортировка диапазона (Sort) (рис. 3.18). |
||
Используя это окно, можно установить до трех критериев, по которым производится сортировка. Range ( "Al : G13 " ) . Sort Key1i : =Range ("02") , Order1 : =xlAscending, Key2:=Range("E2") , Order2:=xlAscending, Header:= xlYes |
|||
ШагЗ |
Нажатие кнопки OK приведет к сортировке записей по указанным критериям (рис. 3.19). |
||
Рис. 3.18. Диалоговое окно Сортировка диапазона
Рис. 3.19. Результат сортировки