Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Ошибка 438 при выполнении макросов сортировки
 
Есть файл с макросами. Есть кнопка с макросом, который выполняет еще кучу макросов (решение не элегантное, но нет времени и желания делать красиво).
При нажатии на кнопку должен выполнится пакет макросов (в основном сортировка) и в результате открыться окно для сохранения csv.
Работает только на половине компов. На некоторых компах сразу появляется ошибка 438. Дебаг показывает ошибку в первой сортировке.
Трудность отладки в том, что на моих компах работает. А у клиентов нет. И надо починить за эти выходные. А тут самоизоляция.
Зависимости от версии офиса и разрядности системы не нашел.

Из загугленых способов решения пробовал удаление файлов .exd. - не помогает.

Сам файл больше 100 кб и не могу загрузить сюда. Доступен по ссылке: гугл диск

Текст макроса куда отправляет дебаг:
Код
Sub Sort()
'
' Sort Макрос
'

'
    ActiveWindow.SmallScroll Down:=87
    Range("Таблица2[#All]").Select
    Range("J101").Activate
    ActiveWorkbook.Worksheets("Скопируйте заявки сюда").ListObjects("Таблица2"). _
        Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Скопируйте заявки сюда").ListObjects("Таблица2"). _
        Sort.SortFields.Add2 Key:=Range("Таблица2[Линия]"), SortOn:=xlSortOnValues _ 
        , Order:=xlAscending, DataOption:=xlSortNormal                                  *показывает ошибку тут
    ActiveWorkbook.Worksheets("Скопируйте заявки сюда").ListObjects("Таблица2"). _
        Sort.SortFields.Add2 Key:=Range("Таблица2[Час подачі корму]"), SortOn:= _
        xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Скопируйте заявки сюда").ListObjects("Таблица2"). _
        Sort.SortFields.Add2 Key:=Range("Таблица2[Длительность]"), SortOn:= _
        xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Скопируйте заявки сюда").ListObjects("Таблица2" _
        ).Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    ActiveWindow.SmallScroll Down:=-114
End Sub

Динамически расчетное имя листа в формуле
 
Здравствуйте!

Есть такая задача:
Дано: Файл отчетности работы сотрудников. Ежедневно добавляется лист с названием вчерашней даты. Есть главный лист, на который суммируются ключевые показатели с 7-ми листов (предыдущих сегодня).
Нужно в формуле указать ссылки на другие листы расчетно, типа ='сегодня()-1'!А1.
Так работает, но открывается окно проводника, выбираем текущий файл, далее открывается следующее окно со всеми листами этой книги и выбираем нужный.
Формула трансформируется в ='[СЕГОДНЯ()-1]02.01.2020'!A1

Можно ли избежать ручных корректировок? Или по другому решить проблему?
Подбор треx переменныx, ищу оптимальный метод решения
 
Здравствуйте!
Помогите подобрать оптимальный метод решения.
Есть массив данныx с фактическими показателями торговая точка, вес, объем и фактическое время выгрузки.
Расчет производится по формуле:
Вес*Коэффициент_вес+Объем*Коэффициент_объем+Административное_время(Буфер)=Время_выгрузки_плановое
Необxодимо подобрать коэффициенты и Админ_время путем приравнивания планового времени к фактическому.
Ограничения: Коэффициенты одинаковы для всеx точек (1-30), админ время для каждой точки индивидуальное (1-1800)
Изменено: Appolonovma - 26.03.2019 21:53:35
Страницы: 1
Наверх