Top-office11.ru

IT и мир ПК
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Vba excel сортировка таблицы

Vba excel сортировка таблицы

На этом шаге мы рассмотрим параметры этого метода и пример его использования .

Сортировка позволяет выстраивать данные в лексикографическом порядке по возрастанию или убыванию. Метод Sort осуществляет сортировку строк списков и баз данных, а также столбцов рабочих листов с учетом до трех критериев, по которым производится сортировка. Сортировка данных вручную совершается с использованием команды Данные | Сортировка (Data | Sort) .

Таблица 1. Аргументы метода Sort

АргументНазначение
ОбъектДиапазон, который будет сортироваться
key1Ссылка на первое упорядочиваемое поле
order1Задает порядок упорядочивания. Допустимые значения:

  • xlAscending (возрастающий порядок);
  • xlDescending (убывающий порядок).
key2Ссылка на второе упорядочиваемое поле
order2Задает порядок упорядочивания. Допустимые значения:

  • xlAscending (возрастающий порядок);
  • xlDescending (убывающий порядок).
key3Ссылка на третье упорядочиваемое поле
order3Задает порядок упорядочивания. Допустимые значения:

  • xlAscending (возрастающий порядок);
  • xlDescending (убывающий порядок).
headerДопустимые значения:

  • xlYes (первая строка диапазона содержит заголовок, который не сортируется);
  • xlNo (первая строка диапазона не содержит заголовок, по умолчанию считается данное значение);
  • xlGuess ( Excel решает, имеется ли заголовок).
orderCustomПользовательский порядок сортировки. По умолчанию используется Normal
matchCaseДопустимые значения: True (учитывается регистр) и False (регистр не учитывается)
orientationДопустимые значения:

  • xlTopToBottom (сортировка осуществляется сверху вниз, т.е. по строкам);
  • xlLeftToRight (слева направо, т.е. по столбцам).

Например, диапазон А1:С20 рабочего листа Лист1 сортируется следующей командой в порядке возрастания так, что первоначальная сортировка происходит по первому столбцу этого диапазона, а второстепенная — по второму.

Приведем соответствие между аргументами метода Sort и сортировкой данных на рабочем листе вручную при помощи команды Данные | Сортировка (Data | Sort) .

    Выделяем диапазон A1:G13 , содержащий записи базы данных о туристах, которые должны быть отсортированы (рисунок 1).

Рис.1. Сортируемый список

В методе Sort за диапазон с записями, подлежащими сортировке, отвечает объект, к которому применяется метод. В данном случае метод Sort надо применить к диапазону R ange(«A1:G13») .

Выберем команду Данные | Сортировка (Data | Sort) . В результате появится диалоговое окно Сортировка диапазона (Sort) (рисунок 2).

Рис.2. Диалоговое окно Сортировка диапазона

Используя это окно, можно установить до трех критериев, по которым производится сортировка.

  • Выбор в списках Сортировать по (Sort by) , Затем по (Then by) и В последнюю очередь, по (Then by) определяют поля, используемые для фильтрации списка.
  • Переключатели по возрастанию (Ascending) и по убыванию (Descending) , расположенные рядом с каждым раскрывающимся списком, определяют порядок сортировки.
  • Записи для идентификации полей, выводимые в раскрывающихся списках, определяются группой Идентифицировать диапазон данных по (My list has) . Если в этой группе выбран переключатель подписям (первая строка диапазона) (Header row) , то в раскрывающихся списках выводятся тексты из первых строк диапазонов. Если выбран переключатель обозначениям столбцов листа (No header row) , то выводятся названия столбцов.
Читать еще:  Using excel c

Например, отсортируем базу данных о туристах в порядке возрастания полей, выбранных в качестве критериев сортировки, установив первоначальным критерием поле Направление тура , вторичным — Оплачено . Сортировку по третьему критерию производить не будем. Так как был выбран диапазон A1:G13 , содержащий названия полей, то для идентификации полей выберем в группе Идентифицировать поля по (My list has) переключатель подписям (первая строка диапазона) (Header row) . В методе Sort за выбор поля, по которому производится первоначальная сортировка, отвечает аргумент key1 . В данном случае для выбора поля Направление тура аргументу key1 надо присвоить значение Range («D2») . Порядок сортировки по первому критерию устанавливается аргументом order1 . В данном случае сортируем по возрастанию, поэтому аргументу order1 присваиваем xlAscending . Вторичная сортировка происходит по полю Оплачено по возрастанию, поэтому аргументам key2 и order2 присваиваем Range («E2») и xlAscending соответственно. Параметром, отвечающим за идентификацию полей, является header . В данном случае в группе Идентифицировать поля по (My list has) выбран переключатель подписям (первая строка диапазона) (Header row) , поэтому параметру header присвоим значение xlYes . Таким образом, имеем:

Нажатие кнопки OK приведет к сортировке записей по указанным критериям (рисунок 3).

Рис.3. Результат сортировки

На следующем шаге мы рассмотрим метод Subtotal .

Сортировка данных в Excel

Если данные текстовые, их можно отсортировать по алфавиту («от А до Я» или «от Я до А»). Если данные числовые, их можно отсортировать в порядке возрастания или убывания. Если в диапазоне данных есть строка или столбец, в которых содержатся данные типа время или дата, их можно отсортировать в прямом или обратном хронологическом порядке. Имеется также возможность сортировки предварительно отформатированных данных по элементам этого форматирования.

Сортировать данные можно по одному условию (например, сортировка списка сотрудников по фамилии) или нескольким (например, сортировка списка сотрудников по занимаемой должности, а внутри каждой должности фамилии отсортировать в алфавитном порядке). Данные можно сортировать по столбцу (или нескольким столбцам) или по строке.

Сортировка по одному критерию

  1. В столбце, по которому должна быть выполнена сортировка, нужно выделить любую ячейку (весь столбец выделять не надо).
  2. На вкладке Данные [Data] найти группу команд Сортировка и фильтр [Sort&Filter].
Читать еще:  Символ доллара в excel

  1. Выбрать нужную кнопку: сортировка по возрастанию или сортировка по убыванию.

Отметим, что буквы на этой кнопке указывают только на направление сортировки, а вид кнопки остается один и тот же и при текстовых, и при числовых данных.

Существует и другой удобный способ сортировки данных: щелкнув правой кнопкой мыши по ячейке столбца, по которому будет выполняться сортировка, в контекстном меню выбрать пункт Сортировка [Sort], а далее – требуемый вариант сортировки.

Многоуровневая сортировка

  1. Выделить одну ячейку из сортируемого массива данных.

Если диапазоне данных имеются пустые столбцы или строкой, то Excel автоматически воспринимает их как границы сортируемого массива данных. В таком случае следует выделить все данные, подлежащие сортировке.

  1. На вкладке Данные [Data] найти группу команд Сортировка и фильтр [Sort&Filter] и на ней выбрать команду Сортировка [Sort].
  2. Последовательно задать уровни сортировки (определяемые именем столбца).

Нажимая на стрелку возле трех полей (Столбец, Сортировка, Порядок) необходимо выбрать:

  1. Имя столбца для сортировки.
  2. Тип критерия (в зависимости от того, будет ли вестись сортировка по значениям данных в столбце, или по оформлению ячейки, или по значку ячейки).
  3. Порядок сортировки (по убыванию или по возрастанию).

Если выбранный для сортировки столбец содержит названия месяцев или дней недели, то в списке поля Порядок можно выбрать опцию Настраиваемый список и в новом окне отметить один из предлагаемых вариантов сортировки.

Сортировка по форматированию

Часто для анализа данных делается заливка ячеек (или шрифта) цветом. С помощью сортировки можно также упорядочивать данные на основе их форматирования.

Пошаговый порядок действий:

  1. Щелкнуть по любой ячейки из столбца, по которому будет выполняться сортировка.
  2. На вкладке Данные [Data] выбрать группу Сортировка и фильтр [Sort&Filter], а затем выбрать команду Сортировка [Sort].
  3. В поле Столбец [Column] укажите столбец по которому будет проводиться сортировка.
  4. В поле Сортировка [Sort On] из всплывающего меню выбрать критерий сортировки: цвет ячейки, цвет шрифта или значок ячейки.
  5. Поле Порядок [Order] содержит два выпадающих списка. В первом нужно выбрать тип критерия, а во втором – размещение ячеек, отсортированных по данному критерию (строку Сверху [On Top] или Снизу [On Bottom]).
  6. При необходимости добавить еще один критерий сортировки, в окне Сортировка нужно выбрать кнопку Добавить уровень.

Можно также воспользоваться командой «Копировать уровень» [Copy Level], заменив в поле «Порядок» прежнее значение на новое.

Канал в Telegram

Вы здесь

Сортировка листов в Excel с помощью макроса

В этом уроке разберем один из способов сортировки листов по алфавиту.

Читать еще:  Число в excel

Максимальное количество листов в книге Excel ограничено размером доступной оперативной памяти. Когда количество листов в книге превышает двух десятков, то удобнее искать нужный лист, если их имена отсортированы по возрастанию.

В MS Excel нет встроенного средства для такой сортировки, создадим простой макрос для упорядочивания листов.

Добавим в нашу рабочую книгу лист и в первом столбце этого листа запишем все названия листов данной книги. Отсортируем диапазон с именами листов, переместим листы согласно сортировке и готово!

Теперь подробнее разберем используемые методы в алгоритме​

синтаксис Worksheets.Add (Before, After, Count, Type) — добавление листов в книгу Excel

After— указывает лист, после которого будет добавлен рабочий лист

​​Before— указывает лист, перед которым будет добавлен рабочий лист

Count — количество добавляемых листов, по умолчанию 1

Type — тип рабочего листа, по умолчанию xlWorkSheet

​Если Before и After опущены, то по умолчанию лист размещается после активного листа

​синтаксис Worksheets.Move (Before|After) — перемещение рабочего листа в другое место рабочей книги Excel

After— указывает лист, после которого будет перемещен рабочий лист

​​Before— указывает лист, перед которым будет перемещен рабочий лист

​Одновременно может быть указан только один аргумент (After или Before)

Воспользуемся встроенной возможностью Excel – сортировкой диапазона.

ДиапазонТаблицы.Sort ([Key1], [Order1 As XlSortOrder = xlAscending], [Key2], [Type], [Order2 As XlSortOrder = xlAscending], [Key3], [Order3 As XlSortOrder = xlAscending], [Header As XlYesNoGuess = xlNo], [OrderCustom], [MatchCase], [Orientation As XlSortOrientation = xlSortRows], [SortMethod As XlSortMethod = xlPinYin], [DataOption1 As XlSortDataOption = xlSortNormal], [DataOption2 As XlSortDataOption = xlSortNormal], [DataOption3 As XlSortDataOption = xlSortNormal])

ДиапазонТаблицы — диапазон Range для сортировки

Key1 — первое упорядочиваемое поле

Order1 — порядок сортировки, xlAscending- по возрастанию, xlDescending- по убыванию

Header — заголовок (xlNo — отсутствует, xlYes — есть, xlGuess — Excel определяет сам)

OrderCustom — пользовательский порядок сортировки, по умолчанию Normal

MatchCase — True или False (учитывается или нет регистр)

Orientation — направление сортировки, xlSortRows — по строкам, xlSortColumns — по столбцам

Диапазон до сортировки

Диапазон после сортировки

Application.DisplayAlerts = False отключение оповещений

Без этой команды при выполнении макроса перед удалением листа появится сообщение

Ссылка на основную публикацию
Adblock
detector