Я настоятельно рекомендую вам поиграть с макро-рекордером.Если вы не видите вкладку разработчика в Excel, перейдите к параметрам Excel и она должна быть на вкладке «Популярные».Нажмите, чтобы включить его.
Нажмите «Запись макроса», затем сделайте то, что вы хотите сделать (например, выделите столбец и нажмите «Сортировка» на ленте и отсортируйте по возрастанию), затем остановите запись.Перейдите в VBA (Alt + F11) и просмотрите полученный код, чтобы узнать синтаксис о том, как написать ту же функцию.
Например, даты сортировки приведут к чему-то вроде этого:
Sub Macro1()
Columns("F:F").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("F1:F5"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("F1:F5")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Поскольку вы уже выберете столбец, который хотите отсортировать, при запуске макроса, вы можете очистить код примерно так:
Sub SortAscending()
With ActiveWorkbook.Worksheets("Sheet1").Sort
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Сортировка дат может быть выполнена с теми же кодами, так какв порядке возрастания:
Хитрость заключается в том, чтобы помнить, что вам не нужно выбирать диапазон в коде, который вы уже выбираете.Удачи и получайте удовольствие от рекордера, он действительно помогает в подобных случаях.
Кроме того, в Excel VBA есть множество книг, и я рекомендую вам взять одну в книжном магазине или в цифровом виде.Большинство книг проведут вас через основы понимания основ VBA, основных ключевых слов, использования рекордера, а затем, в конце концов, достаточно далеко, чтобы вы могли написать свой собственный код (код рекордера вряд ли оптимизирован или совершенен, но отлично подходит для изучения формулировок(синтаксис) для выполнения некоторых функций листа).