Ошибка времени выполнения '1004' определяемая приложением или объектом ошибка при попытке фильтрации
Привет,
У меня возникли проблемы с фильтрацией моего набора данных. Каждый раз, когда я пытаюсь использовать параметр range.autofilter, я получаю ошибку времени выполнения "1004": ошибка, определяемая приложением или объектом.
Пожалуйста, найдите часть моего кода ниже
'Filter sheet RSPS5 & delete 'CLOSED' rows With wbDest.Sheets("RSPS5") .Activate LastRowDest = .Range("B" & Rows.Count).End(xlUp).Row End With wbDest.Sheets("RSPS5").Range("B4:DX" & LastRowDest).AutoFilter Field:=20, Criteria1:="CLOSED", Header:=xlYes With wbDest.Sheets("RSPS5") .Range("U7:U" & LastRowDest).SpecialCells(xlCellTypeVisible).EntireRow.Delete LastRowDest = .Range("B" & Rows.Count).End(xlUp).Row End With wbDest.Sheets("RSPS5").Range("B4:DX" & LastRowDest).AutoFilter Field:=20
wbDest был определен ранее в макросе и правильно работает для кода до этой части.
Столбец, который я хочу отфильтровать, - это " U "(и должен быть 20-м столбцом, если вы начинаете отсчет с столбца "B").
Что я уже пробовал:
Существует некоторый избыточный код. Я пробовал несколько способов заставить его работать, явно добавляя книги и рабочие листы перед строками фильтра.
Самое странное, что во время отладки я вижу, что рабочая книга, рабочий лист и диапазон определены.
Я могу вручную фильтровать строки, содержащие "закрытый" текст, так что это тоже не должно быть проблемой, по моему неопытному мнению.
Я, наверное, что-то упускаю из виду, так что если бы кто-нибудь мог указать мне правильное направление, я был бы очень взволнован.
RedDk
Ошибка Excel 1004-это самая внешняя общая ошибка ... он возвращается в виде сообщения, предупреждающего о том, что почти все и вся Excel потерпит неудачу. Так что вам придется отлаживать, чтобы добраться до деталей.
CHill60
Предполагая, что это второй автофильтр, который терпит неудачу - попробуйте удалить уже установленный автофильтр, прежде чем вставлять новый
b.wag
Я даже не могу пройти мимо первого автофильтра.
В других файлах, где макрос также использует автофильтр, он прекрасно работал и раньше. С этого момента я не могу заставить работать какой-либо код автофильтра.
CHill60
Ах, мое недоразумение. Если вы поставите точку останова на первом автофильтре и используете
? wbDest.Sheets("RSPS5").Range("B4:DX" & LastRowDest).Addressвы получаете ошибку или вывод адреса? Напр.
$B$4:$DX$200
CHill60
Подожди … Я не помню, чтобы заголовок был вариантом ... попробуйте
wbDest.Sheets("RSPS5").Range("B4:DX" & LastRowDest).AutoFilter Field:=20, Criteria1:="CLOSED"
b.wag
Спасибо, это действительно помогло. Я смотрел на эту проблему в течение нескольких часов, и я также посмотрел документацию MSDN, но каким-то образом мой мозг, должно быть, пропустил часть заголовка.
CHill60
Лол! Я пропустил его, потому что он был на следующей линии. Рад, что теперь все улажено.