Страницы: 1
RSS
Метод AutoFill - возникает ошибка при запуске кода
 
Всем доброго дня!

в VBA чайник, но набросал код. Его смысл - заполнить 28 ячеек формулами ячейка=ячейка, далее он протягивает данный код на весь необходимый диапазон создаваемой таблицы.
код срабатывает, но выдает ошибку "Метод AutoFill из класса Range завершен неверно"
просмотрел кучу тем на разных форумах, чаще всего вижу решение - активировать лист. Но, к сожалению мне это не помогло.
посмотрите, пожалуйста, где косяк..

Ошибка возникает в строке
Код
"Sheets("Приложение_1_К_Заявлению").Range("B9:AB9").AutoFill Destination:=Sheets("Приложение_1_К_Заявлению").Range(Cells(StartRow, StartCol), Cells(Endrow, EndCol)).FillDown, Type:=xlFillDefault"

заранее признателен!
 
Вам сюда: Как обратиться к диапазону из VBA
читать внимательно и вдумчиво.
Код
Destination:=Sheets("Приложение_1_К_Заявлению").Range(Cells(StartRow, StartCol), Cells(Endrow, EndCol))
Для Range Вы указали явно лист, а для Cells - нет. Отсюда и ошибка. Также, кстати, ошибка может быть и из-за некорректного значения в переменной Endrow. Проверьте что в ней на момент ошибки.
Изменено: Дмитрий(The_Prist) Щербаков - 30.04.2021 10:21:09
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
можно с первого раза или бесконечно долго пытаться угадать в чем причина, а можно отрыть файл, посмотреть и сказать
прикладывайте файл, или подождите гадателей
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Простите, файл приложил. там "Кнопка 6" на листе "Приложение 1 к заявлению"

3ю кнопку в Userform1 можно не нажимать, пока там ничего не писал.
1. Вводим кол-во ТС (любое)
2. Нажимаем кнопку "Сформировать таблицу"
3. Нажимаем кнопку "Заполнить приложение 1"
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
Для Range Вы указали явно лист, а для Cells - нет. Отсюда и ошибка. Также, кстати, ошибка может быть и из-за некорректного значения в переменной Endrow. Проверьте что в ней на момент ошибки.
Дмитрий, спасибо за статью, очень много полезных подсказок.

Для Cells попытался также указать какой лист активен - не помогло.
Endrow определяется верно - последняя строка с данными в сформированной таблице.

голову сломал откуда эта ошибка "Метод AutoFill из класса Range завершен неверно"
в принципе код срабатывает абсолютно верно, но из-за этого косяка я не могу его продолжить :(
 
Djenkinss, может так?
Код
Sheets("Приложение_1_К_Заявлению").Range("B9:AB9").AutoFill Destination:=Sheets("Приложение_1_К_Заявлению").Range(Cells(StartRow, StartCol), Cells(Endrow, EndCol)), Type:=xlFillDefault
Не бойтесь совершенства. Вам его не достичь.
 
Mershik!!!! большое спасибо!!
я в упор не видел что там .FillDown остался..

Даже когда Дмитрий(The_Prist) Щербаков написал часть кода без .FillDown..
виной всему - моя невнимательность..

Еще раз ОГРОМНОЕ СПАСИБО!
Страницы: 1
Наверх