Спеціальне сортування в Excel - дуже корисна функція. У цій статті ми поговоримо про те, як автоматично оновлювати спеціальне сортування в діапазоні за допомогою Excel VBA.
Використовуючи спеціальне сортування, ви виявите, що це надзвичайна функція в Excel. Однак, якщо ви часто використовуєте цю функцію, ви також можете виявити проблему. Ви сортуєте в діапазоні з певними даними та інформацією. Коли ви додаєте додаткові дані та інформацію в діапазон, порядок у діапазоні не змінюється автоматично. На зображенні нижче наведено приклад такого стану.
Коли ви додаєте новий набір даних до діапазону, він не змінить рейтинг автоматично. Якщо ви все ж хочете відсортувати цей більший діапазон за новими даними, встановленими за тими ж критеріями, вам доведеться виконати процес спеціального сортування ще раз. Ви бачите, що це дуже клопітно, особливо коли вам потрібно постійно оновлювати дані та інформацію на аркуші. Щоразу, коли ви додаєте нову інформацію до діапазону, вам потрібно ще раз сортувати. Щоб вирішити цю проблему і швидко закінчити своє завдання, ви можете продовжувати читати цю статтю.
Запис макросу
Коли критерії спеціального сортування дуже складні, вам буде важко написати безпосередньо коди VBA. Таким чином, тепер ви можете спочатку записати макрос. А коди в цьому макросі можна використовувати в інших макросах. Процес запису кодів дуже простий.
- Перш ніж записати макрос, потрібно додати вкладку VBA на стрічці. Тут клацніть правою кнопкою миші будь-яку вкладку на стрічці.
- А потім у меню виберіть «Налаштувати стрічку».
- Тепер у вікні «Параметри Excel» поставте прапорець біля пункту «Розробник» у списку «Основні вкладки».
- Після цього натисніть “OK” у вікні. Отже, ви додали вкладку на стрічці.
- Тепер ви повернетесь до робочого аркуша. Клацніть додану вкладку «Розробник».
- А потім натисніть кнопку “Record Macro” на панелі інструментів. Таким чином, з’явиться вікно “Record Macro”.
З іншого боку, ви також можете натиснути маленьку кнопку внизу аркуша, щоб замінити вищезазначені 6 кроків.
- Тепер у вікні “Record Macro” введіть ім’я у перше текстове поле. Якщо вам потрібно, призначте комбінацію клавіш. А потім додайте опис відповідно до ваших потреб.
- Далі натисніть “OK”. Таким чином, макрос починає реєструвати кожну виконану вами операцію.
- Виберіть діапазон, який потрібно відсортувати на аркуші.
- Клацніть на вкладку «Головна».
- А потім натисніть кнопку «Сортувати та фільтрувати» на стрічці.
- У випадаючому списку виберіть опцію «Спеціальне сортування».
- У вікні “Сортувати” встановіть критерії відповідно до ваших потреб. Усі дії будуть записані в макрос.
Під час запису макросу не робіть додаткових кроків. В іншому випадку ці кроки також будуть записані. І це призведе до неприємностей у наступній частині.
- Після завершення налаштування у вікні «Сортування» натисніть «ОК», щоб зберегти налаштування.
- Тепер знову натисніть на стрічці вкладку «Розробник».
- А потім натисніть кнопку “Зупинити запис”. Коли аркуш знаходиться у стані записування макросів, кнопка зміниться на “Зупинити запис”.
Ви також можете натиснути кнопку внизу аркуша, щоб припинити запис макросу. Таким чином, ви закінчили запис. Усі критерії сортування були збережені в Macro 1.
Використовуйте макроси Excel VBA
У цій частині ми покажемо вам, як використовувати макроси VBA для оновлення користувацького сортування на вашому аркуші. І ви також будете використовувати записані макроси в цій частині.
- Клацніть на стрічці вкладку «Розробник».
- А потім натисніть кнопку “Visual Basic” на панелі інструментів. Натомість ви можете також натиснути кнопку “Alt + F11” на клавіатурі, щоб замінити 2 кроки.
- У редакторі Visual Basic двічі клацніть аркуш у області “VBAProject”. На цьому аркуші потрібно оновити власне сортування. І у вашому фактичному файлі вам потрібно двічі клацнути відповідний аркуш.
- Тепер введіть наступні коди в область.
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
- А потім введіть наступні коди між двома наведеними вище реченнями VBA.
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then
End If
Тут оцінюється діапазон. Для обсягу продажів буде 12 місяців, і разом із першим рядком заголовка ми вводимо діапазон “A1: C13”. Ви також можете ввести діапазон у коди відповідно до вашого фактичного аркуша.
- На цьому кроці відкрийте модуль 1 у редакторі. Коди в цьому модулі - це процес спеціального сортування, який ви вже робили раніше. Ви бачите, що використання функції запису макросів може заощадити вам багато часу.
- Тепер скопіюйте основну частину цього модуля.
- А потім двічі клацніть на tarотримати аркуш у частині “VBAProject”.
- Після цього вставте коди в IF-END IF коди.
- А потім змініть діапазон в кодах відповідно до ваших потреб. Записаний макрос трохи складний і зайвий. Ви також можете змінити його відповідно до своїх потреб. Отже, повні коди VBA будуть такими:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SortFields.Clear
.SortFields.Add Key:=Range("B2:B13"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
.SortFields.Add Key:=Range("C2:C13"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
End With
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:C13")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
End Sub
До кодів ми додаємо ще один символ END-END. Таким чином, це буде чіткіше, ніж рекордний результат. Якщо у вас є інші вимоги, ви також можете змінити їх відповідно до своїх фактичних потреб. Потрібно бути обережним, змінюючи коди. В іншому випадку ви отримаєте неправильний результат на аркуші.
- Тепер ви закінчили коди VBA в редакторі. Ви можете повернутися до робочого аркуша і перевірити результат. Коли ви додаєте наступний місяць та відповідні числа до діапазону, спеціальне сортування автоматично оновлюється.
Таким чином, вам ніколи не доведеться вручну оновлювати спеціальне сортування кожного разу, коли ви вводите нові елементи в tarотримати діапазон. З іншого боку, вам потрібно зберегти цю книгу як файл Excel із підтримкою макросів. В іншому випадку ви втратите коди, якщо збережете як звичайний файл.
Ми надамо допомогу жертвам корупції в Excel
Ми всі знаємо, що Excel дуже потужний, і він може допомогти вам швидко і легко закінчити свою роботу. Але програма Excel ще далека від досконалості. Іноді Excel пошкоджується з різних причин. Як тільки Excel зіпсується, ви не зможете закінчити свої завдання за допомогою цієї програми. Для того, щоб працювати краще, вам потрібно буде його відремонтувати якомога швидше.
Наша компанія працює над областю відновлення протягом багатьох років, особливо з відновленням Excel. Тому ви можете звернутися за допомогою до нашого технічного персоналу. Маючи багаторічний досвід, ми можемо легко з’ясувати причину, яка завдає шкоди вашим файлам. І допомогти тобі краще виправити пошкодження файлу Excel xlsx -, ми розробили сторонній інструмент. Цим інструментом дуже легко маніпулювати, і вам не потрібно турбуватися про проблему конфіденційності.
Вступ автора:
Анна Ма - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі виправити помилку Word та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com









