Мне нужно использовать функцию сортировки в файле personal.xlsb, где я могу использовать только операторы активного листа и рабочей книги.Использование динамического диапазона, чтобы избежать жесткого кодирования.Причина в том, что содержание активного листа может быть разным.
Я проверил этот сайт и попробовал различные комбинации, и все они сталкиваются с проблемами.Этот код является единственным кодом, который я попробовал, но не столкнулся с ошибкой глобальной переменной.
'' '' Сортировка функции запуска
Function PTSort()
ActiveSheet.Range("A1").Select
Columns("A:A").EntireColumn.AutoFit
Dim MyLastRow As Long
MyLastRow = Cells(Cells.Rows.Count, "A").End(xlUp).Row
Dim MySortRange As String
Let MySortRange = "A1:A" & MyLastRow
Range(MySortRange).Select
ActiveWorkbook.Worksheets("MySheet").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("MySheet").Sort.SortFields.Add
Key:=Range(MySortRange) _
, SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("MySheet").Sort. _
SortFields.Add _
SetRange = Key:=Range(MySortRange), _
Header = xlYes, _
MatchCase = False, _
Orientation = xlTopToBottom, _
SortMethod = xlPinYin, _
Apply
End With
Exit Function
Application.ScreenUpdating = True
End Function
'' '' Конец функции Сортировка
Я хотел бы вызвать некоторый код, который также имеет функцию сортировки.Весь код работает, только функция сортировки не работает.Идея состоит в том, чтобы указать динамический диапазон, потому что содержимое зависит от листа.Нужно отсортировать столбец A: A, и я хочу установить найденные ячейки в переменной и назвать ее диапазоном.