У меня есть несколько именованных вертикальных диапазонов в электронной таблице, содержащей списки имен. Новые имена обычно добавляются вручную в самом конце каждого списка. Очевидно, это означает, что без сортировки вручную списки не будут располагаться в алфавитном порядке. Есть ли способ, с помощью макроса, если необходимо, чтобы каждый диапазон автоматически сортировал себя после изменения любой из его компонентных ячеек? Идея состоит в том, чтобы каждый список / диапазон сортировался в алфавитном порядке сразу после того, как данный пользователь добавил к нему новое имя.
Я не особо углублялся в VBA для Excel и не занимался автоматизацией его сортировки, поэтому простите мое невежество, если ответ слишком очевиден.
Ответы:
Хорошо, я сделал это Как предложил Raystafarian, я обработал
Worksheet_Change
событие и использовалRange().Sort
функцию, чтобы упорядочить мои столбцы. У каждого столбца есть заголовок, и я хотел, чтобы они были расположены в алфавитном порядке в порядке возрастания, поэтому вот моя функция:Возможно, это не очень элегантное или надежное решение, но оно отлично решает мою проблему, и, пройдя некоторое обучение, пользователи узнают, что не нужно изменять столбцы заголовков.
Спасибо, Райстафариан!
источник