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

Страницы: 1
Ошибка 438 при выполнении макросов сортировки
 
Hugo, спасибо! это помогло.

Метод Add2 был добавлен в 2016 году.
Метод Add2 включает поддержку сортировки для подполя из типов данных, таких как география или акции.
Если это не требуется, то можно использовать метод Add.
Ошибка 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
Наверх