У меня есть макрос, который я создал, чтобы снять защиту листа, отменить выбор пробелов, отсортировать столбец, повторно применить пробелы, а затем снова защитить лист.Код отлично работает на моем компьютере, но когда я пытаюсь открыть его на других компьютерах, я получаю
код ошибки 438.
ПРИМЕЧАНИЕ: мне нужно выбрать пробелыпотому что я пытаюсь отсортировать столбцы с формулой.Столбцы не будут сортироваться правильно, потому что формула отображает пробелы в областях, где информация отсутствует.
Все компьютеры имеют одинаковую операционную систему, одну и ту же версию Excel, и файл сохраняется на общем диске, поэтому ничего не должно меняться.Я убедился, что я включил макросы на каждом компьютере, но он все еще не работает.
Ниже приведен код.Кто-нибудь видит какие-то явно очевидные проблемы, которые мне не хватает?Я новичок в VBA и макросах, но я довольно много читал и исследовал и, похоже, не могу понять это.
Ниже приведен обновленный код:
Sub Short2Long()
'
' Short2Long Macro
'
'
Worksheets("Reunification").Unprotect
Worksheets("Reunification").ListObjects("Reunification_Main").Range.AutoFilter Field:=1, _
Criteria1:="<>"
ThisWorkbook.Worksheets("Reunification").ListObjects("Reunification_Main"). _
Sort.SortFields.Clear
ThisWorkbook.Worksheets("Reunification").ListObjects("Reunification_Main"). _
Sort.SortFields.Add2 Key:=Range("Reunification_Main[[#All],[Days in Care]]") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ThisWorkbook.Worksheets("Reunification").ListObjects( _
"Reunification_Main").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Worksheets("Reunification").ListObjects("Reunification_Main").Range.AutoFilter Field:=1
Worksheets("Reunification").Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingColumns:=True, AllowFormattingRows:=True, _
AllowSorting:=True, AllowFiltering:=True