Страницы: 1
RSS
Не правильно срабатывает или не работает макрос на некоторых компьютерах
 
Доброго времени суток! Нужна помощь. Не могу понять в чем причина. Файл создавал другой человек и в макросах я почти не разбираюсь, по этому без помощи не разберусь

Это файл - бланк заказа для клиентов. В большом количестве продукции выбранными клиентами, макрос выбирает нужные позиции и в отдельном листе создает список с выбранными позициями. То есть, нужно зайти в продукцию на против нужных позиций ставим количество, вернуться на главную страницу и нажать кнопку Сформировать заказ и спецификацию, макрос (как я понимаю) ищет заполненные ячейки и по ним переносит строки на другой (подготовленный) лист. В макросе предусмотрено что-то типо защиты от дурака: если в Продукции нет заполненных ячеек с количеством, то выходит сообщение "Ошибка! Не выбрано ни одного изделия"

Суть проблемы: На новом компе на Windows 10, когда нажимаем кнопку сформировать выходит сообщение "Ошибка! Не выбрано ни одного изделия", хотя ячейки с количеством заполнены. От версии Excel не зависит. Как буд-то макрос начал ссылаться не на ту ячейку или вовсе пропускает ту часть которая отвечает за поиск и перенос нужных ячеек
 
Где файл? Надеюсь он не больше 300кб? Скорее макрос ссылается не на тот столбец
Изменено: New - 27.07.2022 16:16:51
 
точно)))
 
Цитата
написал:
Где файл? Надеюсь он не больше 300кб? Скорее макрос ссылается не на тот столбец
почему? на другом компе столбец меняется? Даже версию Excel такую же поставил
 
На листе Спецификация таблица пустая, наверное, поэтому и не работает макрос
Изменено: New - 27.07.2022 16:28:18
 
нет, после нажатия кнопки Сформировать заказ и спецификацию, он туда копирует выбранные позиции. А выбранные позиции это те на против которых заполнена ячейка с количеством
 
Похоже Вы листы из книги поудаляли.
Код
maxList = ThisWorkbook.Worksheets.Count
        For iList = 3 To maxList - 2
у вас пытается перебирать с 3 по 2. Вот ничего и не находит. Если  - 2 заменить на -1 то отрабатывает нормально
 
bigorq да, удалял листы и когда их было больше макрос собирал информацию с остальных листов, то есть листы удалил а макрос не менял, но это было давно. Причем странность, этот файл у меня на компе работал, после того как я его немного переделал для форума и он и у меня перестал работать, и ваш вариант помог только на моем компе, а на другом нет ни в том ни в другом варианте файла
 
Как я понимаю там стоит обработчик ошибок, и на любую ошибку он ругается, что не осуществлен выбор. Нужно его отключить и тогда будет видно на что конкретно ругается макрос. Но 10 ки у меня нет и проверить не могу.
 
bigorq на другом компе с windows 10 (но другая сборка) работает нормально
 
А как его отключить?
 
Найдите и закомментируйте зеленые строки
'  On Error GoTo errmsg

тут был текст макроса

'errmsg:
'   Sheets("Лист1").Select
'   MsgBox ("Ошибка! Не выбрано ни одного изделия!")
Изменено: bigorq - 29.07.2022 11:30:12
 
Отключил, ссылается на строку

Range("R2").Value = DateValue(Now)

только не понятно, эта строка вроде бы просто дату в ячейке ставит
 
DateValue() в качестве аргумента должна быть СТРОКА. А у вас там аргументом - функция NOW, которая выдает в результате ДАТУ
Либо внутри преобразовывать NOW через Format в строку, либо нафиг вам DateValue? Почему не сразу Range("R2")=Now?
Кому решение нужно - тот пример и рисует.
 
Заработало!!! :)   Спасибо!!
Страницы: 1
Наверх