Перейти к содержимому

Как автоматически отсортировать столбец по значению в Excel?

Author: Kelly Last Modified: 2025-08-07

Например, у вас есть таблица покупок, как показано на скриншоте ниже. Теперь вы хотите, чтобы столбец «Цена» сортировался автоматически при вводе новых чисел/цен в этот столбец. Как можно решить эту задачу? Здесь я представлю макрос VBA, который поможет вам автоматически отсортировать определенный столбец по значению в Excel.

Автоматическая сортировка столбца по значению с помощью VBA

A screenshot showing a sample purchase table in Excel with a price column to be sorted


Автоматическая сортировка столбца по значению с помощью VBA

Этот макрос VBA будет автоматически сортировать все данные в определенном столбце сразу после того, как вы введете новые данные или измените значение в этом столбце в Excel.

1. Щелкните правой кнопкой мыши имя текущего листа на панели "Листы", затем выберите "Просмотр кода" из контекстного меню.
A screenshot showing the right-click menu with View Code option selected in the sheet tab bar

2. В открывшемся диалоговом окне "Microsoft Visual Basic for Applications" вставьте следующий код макроса VBA в открывшееся окно.
A screenshot of the Microsoft Visual Basic for Applications window with VBA code pasted for auto sorting

VBA: Автоматическая сортировка столбца в Excel

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("B:B")) Is Nothing Then
Range("B1").Sort Key1:=Range("B2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub

Примечание:
1) В приведенном выше коде VBA "B:B" означает, что он будет автоматически сортировать столбец B, B1 — это первая ячейка в столбце B, а "B2" — вторая ячейка в столбце B, и вы можете изменить их в зависимости от ваших потребностей.
2) Фрагмент "Header:=xlYes" в 5-й строке сообщает Excel, что диапазон, который вы собираетесь сортировать, имеет заголовок, поэтому первая строка диапазона не будет включаться при сортировке. Если заголовка нет, измените его на "Header:=xlNo"; и измените "Key1:=Range("B2")" в 4-й строке на "Key1:=Range("B1")".

3. Затем вернитесь к рабочему листу, когда вы вводите новое число в столбце «Цена» или изменяете любые существующие цены, столбец «Цена» будет автоматически отсортирован по возрастанию.
A screenshot showing an Excel table with the price column sorted automatically after entering a new value
Примечание: Когда вы вводите новое число в столбец «Цена», вы должны ввести число в первую пустую ячейку под исходными числами. Если между новым введенным числом и исходными числами есть пустые ячейки, а также пустые ячейки между исходными числами, этот столбец не будет автоматически отсортирован.


Демонстрация: Автоматическая сортировка столбца по значению с помощью VBA в Excel

 
Kutools для Excel: Более 300 удобных инструментов у вас под рукой! Наслаждайтесь постоянно бесплатными функциями ИИ! Скачать сейчас!

Легкая сортировка по частоте повторений в Excel

Функция "Расширенная сортировка" Kutools для Excel позволяет легко сортировать данные по различным критериям, таким как длина текста, фамилия, абсолютное значение, частота и многое другое.

A screenshot of Kutools for Excel 'Advanced Sort' feature with sorting options visible

Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас

Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Переворот в анализе данных на основе: Интеллектуальное выполнение   |  Сгенерировать код  |  Создать Пользовательские Формулы  |  Анализ данных и генерация диаграмм  |  Вызов Kutools Functions
Популярные функции: Найти, выделить или отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячейки без потери данных   |   Округлить...
Супер ПОИСК: VLookup с несколькими критериями    VLookup с несколькими значениями  |   Многолистовой поиск   |   Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскр. список   |  Зависимый раскрывающийся список   |  Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки   |  Дизайн листа   |   Улучшенная строка формулы    Управление книгой и листами   |  Библиотека автотекста (Auto Text)   |  Выбор даты   |  Объединить данные   |  Шифрование/Расшифровка ячеек    Отправить письмо по списку   |  Супер фильтр   |   Специальный фильтр (фильтр по жирному/курсиву/зачеркиванию...) ...
Топ–15 наборов инструментов: 12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...)   |   50+ типов диаграмм (Диаграмма Ганта, ...)   |   40+ практических формул (Расчет возраста на основе даты рождения, ...)   |   19 инструментов вставки (Вставить QR-код, Вставить изображение из пути, ...)   |  12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...)   |  7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...)   |   ... и многое другое
Используйте Kutools на вашем предпочитаемом языке – поддерживаются английский, испанский, немецкий, французский, китайский и более40 других языков!

Повысьте свои навыки работы в Excel с Kutools для Excel и ощутите новую эффективность. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени.  Щелкните здесь, чтобы получить наиболее нужную вам функцию...


Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!