Excel VBA; Як відсортувати таблицю за допомогою VBA; Денис Рейс

рейс

Ця публікація є частиною серії VBA Basics.
Мене часто запитують, як сортувати значення в таблиці за допомогою VBA. У цьому дописі я покажу вам, як це зробити, на двох прикладах.

Вихідна таблиця показує продажі на місто.

місто продажів
Берлін 362
Гамбург 832
Мюнхен 290
Кельн 901
Франкфурт 335
Штутгарт 987
Дюссельдорф 257
Дортмунд 470
їсти 867
Лейпциг 661

Ми хочемо сортувати таблицю за продажами та за назвою міста.

допомогою

Для цього ми спочатку створюємо новий макрос.

Спочатку визначаємо параметри та визначаємо, яку область слід сортувати. Спочатку ми хочемо відсортувати за обсягами продажів у стовпці B.

Для цього ми використовуємо метод Сортування, який сортує діапазон значень. Цей метод має ряд параметрів, лише пару з яких ми будемо використовувати. Повний список усіх параметрів можна знайти в довідковому документі Microsoft VBA.

Ми хочемо відсортувати продажі у стовпці B за зростанням. Для цього нам потрібно вказати перше поле сортування в Key1; це визначає значення, які потрібно сортувати. За потреби можна також визначити кілька полів сортування. Поле сортування може бути передане як ім'я діапазону або як об'єкт діапазону. Ми обираємо властивість Range для гнучкості.

У другому параметрі Order1 ви визначаєте порядок сортування за допомогою xlAscending (зростаючий) або xlDescending (низхідний). Крім того, ми повідомляємо Excel за допомогою параметра Header, що наша таблиця містить заголовки. Якщо ви використовуєте тут значення xlGuess, Excel намагається визначити, чи має таблиця заголовки чи ні.

Тож повний макрос виглядає так:

Під час запуску макросу він сортується за продажами:

місто продажів
Дюссельдорф 257
Мюнхен 290
Франкфурт 335
Берлін 362
Дортмунд 470
Лейпциг 661
Гамбург 832
їсти 867
Кельн 901
Штутгарт 987

відсортувати

111 макросів VBA, які полегшують ваше життя

Ви хочете позбутися своїх нудних рутинних завдань? Хотіли б Ви адаптувати Excel до своїх потреб, автоматизувати розрахунки, створити власні діалогові вікна та багато іншого? Ця книга показує, як швидко і легко виконувати свої завдання за допомогою VBA.

Тепер у вас є міста, перелічені за продажами.

рейс

А тепер давайте розміщувати міста за алфавітом. Я вводжу новий параметр. За допомогою MatchCase ви можете визначити, чи слід розглядати великі чи малі літери.
Для нового макросу ми просто змінюємо параметр strColumn і додаємо MatchCase.

Коли ви запускаєте макрос, таблиця сортується у порядку зростання за містом.

місто продажів
Берлін 362
Дортмунд 470
Дюссельдорф 257
їсти 867
Франкфурт 335
Гамбург 832
Кельн 901
Лейпциг 661
Мюнхен 290
Штутгарт 987

таблицю

Зразок файлу Excel із готовим до використання макросом та 111+ іншими макросами, що полегшують ваше життя, можна знайти тут.

Вражайте свого начальника крутими прийомами Excel!

  • Не дозволяйте вашим колегам залежати від вас!
  • Економте час і використовуйте його для більш приємних справ
  • Збільште свою продуктивність та ефективність
  • Це легко - у своєму бюлетені я даю покрокові вказівки, які всі можуть зрозуміти
  • Зареєструвавшись на мою розсилку, ви отримаєте книгу "Прийоми Excel, які вражають вашого начальника" як вітальний подарунок.

допомогою

Джерело зображення: Pixabay, CC0 Public Domain

Поділитися входом
Вас це також може зацікавити

денис

таблицю

допомогою

допомогою

таблицю

excel

дякую за ваше детальне пояснення. Я міг би це використовувати супер.
На жаль, у мене проблема, що в моїй таблиці, який стовпець включає від A до N і сортується відповідно до стовпця M, стовпець N не сортується, а просто залишається.

Звідси питання: Що означає "1" у цьому рядку коду:
Клавіша1: = Діапазон (strColumn & "1"), Order1: = xlЗростаючий, _

Дякую і всього найкращого
Фрідеріке

Питання Ріке дуже цікаве. Я теж хотів би це знати.
Дякую та вітаю

Це комбінація strColumn, яка в прикладі є "A", і 1 ..., отже, у результаті з’являється комірка A1 ... Значення & в діапазоні - це посилання