Як використовувати макрос для запуску користувацького сортування на певній групі даних?


0

Гаразд, як би можна було зробити макрос, який автоматично запускається щохвилини, який сортує наборну групу даних за допомогою спеціальних "шарів" даних? Наприклад, він сортує стовпчик a, який містить деякі числові дані від найменшого до найбільшого, а потім сортує стовпчик b, який містить більше числових даних, але це не змінює факту, що в стовпці a вже є групування? Повний приклад нижче

Тож ми починаємо з деяких випадкових даних, як це видно тут:

А | Б

1 | 2

2 | 2

1 | 1

2 | 1

Потім ми бачимо, що тут був виконаний перший шар сорту:

А | Б

1 | 2

1 | 1

2 | 2

2 | 1

Як видно з цього останнього розділу, другий шар сортування виконаний у розділах, визначених першим шаром (Отже, всі рядки з колонкою 1 у стовпці A все ще є разом, і всі рядки з 2 у стовпці B все ще разом! )

А | Б

1 | 1

1 | 2

2 | 1

2 | 2

Як би написати макрос для досягнення цього результату і як би адаптувати макрос до 3-х шарів сортування (стовпці A, B і C)?

Дані, які мені потрібні для сортування, містяться у стовпцях AN, а "Шари", які потребують сортування, - у стовпцях C, D та G


1
Використовуйте макрореєстратор як вихідну точку.
тейлін

Ласкаво просимо до Супер Користувача! Зверніть увагу, що Super User - це не безкоштовна послуга написання сценарію / коду. Якщо ви скажете нам, що ви намагалися до цього часу (включіть сценарії / код, який ви вже використовуєте) і де ви застрягли, то ми можемо спробувати допомогти у вирішенні конкретних проблем. Ви також повинні прочитати Як мені поставити гарне запитання? .
DavidPostill

Як заявив Тейлін, я думаю, що саме так ми всі вивчали VBa на початку. Якщо ви використовуєте Excel 2016 і не знайдете "рекордер", можливо, ви не побачите вкладку "Developer". За замовчуванням приховано. Щоб переглянути його, Файл> Опції> Налаштувати стрічку, встановіть прапорець Розробник (праворуч). Як тільки це буде зроблено: придумайте завдання, яке потрібно виконати, натисніть на запис, виконайте завдання, перегляньте код, вивчіть форму коду, працюйте з кодом, шукайте рішення, а потім зверніться за допомогою до пункту стикування деяка робота.
ejbytes

Я думаю, що ви можете досягти цього, просто використовуючи порядок сортування в декількох стовпцях. Виберіть обидва стовпчики, виберіть сортування, виберіть A як перший та B як другий. Це веде вас від першої таблиці до останньої. Якщо вам потрібен макрос, просто запишіть макрос, який це робить. Якщо вам потрібно більше стовпців сортування, ніж доступних, почніть праворуч від даних і виконайте вищезазначений візерунок, послідовно передаючи всі дані, переміщуючи стовпці сортування в групах ліворуч.
fixer1234

Дякую, хлопці, за допомогу, але я дізнався, як це зробити! Є варіант у excel зробити власне сортування, тому я просто використав це!
Джошуа Бертон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.