Сортировка с динамическим диапазоном, выбранным в файле personal.xlsb.Встречается с ошибкой компиляции - PullRequest
0 голосов
/ 08 апреля 2019

Мне нужно использовать функцию сортировки в файле 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, и я хочу установить найденные ячейки в переменной и назвать ее диапазоном.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...