У меня есть Excel 2007 и Windows XP, когда этот код выполняется:
Columns("A:G").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("B2:B20000") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:A20000") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("F2:F20000") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:G20000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Application.Calculation = xlCalculationAutomatic
Выдает ошибку на .Apply
:
Application-defined or object-defined error
Одна вещьСледует отметить, что Application.Calculation = xlCalculationManual
Кроме того, я не могу ничего делать в пользовательском интерфейсе, кроме переключения вкладок и открытия меню офиса, и мне нужно перейти к диспетчеру задач и нажать «Завершить задачу» для выхода, после чего онспрашивает, хочу ли я сохранить.Нажатие отмены не исправляет это.Если я нажму «нет», он просто закроется.Если я нажимаю «да», он вычисляет, а затем спрашивает, хочу ли я, чтобы он восстановил мою работу.