В некотором фоне я написал фрагмент кода, который циклически перебирает все книги в каталоге и выполняет функцию, а эта функция также выполняет другую функцию. Обе функции протестированы отлично и работают без проблем, пока я не помещу их в код, который проходит через все книги. я имел этот код изначально и не было никаких проблем с ним:Нужна помощь в исправлении ошибки vba «1004» после редактирования раздела кода
Set tbl = shtOfErrors.UsedRange
tbl.Offset(2, 0).SpecialCells(2, 23).Select
Selection.Resize(, 3).Select
Я пытался избавиться от всех .select я имел в оригинальных функций, потому что он держал erroring, когда он был вызван в качестве части книги петля. Но теперь я получаю сообщение об ошибке 1004 приложения или объекта определяется здесь ошибка в строке 3:
Set tbl = shtOfErrors.UsedRange
Set selrng = tbl.Offset(2, 0).SpecialCells(2, 23)
Set seltbl = selrng.Resize(, 3)
Кажется, что вы подготовили лист для 'tbl', но вы хотите сделать это и для книги. (+1 для отмены выбора 'select'). – findwindow
'Resize' - это действие, выполненное в диапазоне. Действие не может быть назначено переменной. Просто замените 'Set seltbl = selrng.Resize (, 3)' на 'selrng.Resize (, 3)' и он должен работать правильно. (Если мы предполагаем, что остальная часть кода, который не был представлен, также верен) – Demetri
@Demetri, чтобы сделать его простым: 'Resize' просто не возвращает объект/диапазон, например' worksheets.copy', также нет (но 'worksheets .add' будет делать)? –