У меня есть таблица, которую я хочу переместить в другое место, и я хочу удалить значительную часть данных (есть довольно много пробелов или 0, на которые я действительно не забочусь). Вот что у меня есть для кода до сих пор:Range.AutoFilter только с использованием последних критериев? VBA
Dim srcRange As Range
Dim copysheet As Worksheet
Set copysheet = ActiveSheet
Set srcRange = copysheet.range("B1:D1598")
srcRange.AutoFilter Field:=3, Criteria1:=Array("#VALUE!", "Count", 0, Empty)
srcRange.Delete
С помощью этой установки она только удаляет пробелы, поэтому я проверил это несколько раз со следующими изменениями:
'this code will return only the 0's
Dim srcRange As Range
Dim copysheet As Worksheet
Set copysheet = ActiveSheet
Set srcRange = copysheet.range("B1:D1598")
srcRange.AutoFilter Field:=3, Criteria1:=Array("#VALUE!", "Count", 0)
'this code will return only the "count"'s
Dim srcRange As Range
Dim copysheet As Worksheet
Set copysheet = ActiveSheet
Set srcRange = copysheet.range("B1:D1598")
srcRange.AutoFilter Field:=3, Criteria1:=Array("#VALUE!", "Count")
Так что вывод I пришли к тому, что по какой-то причине инструмент AutoFilter фильтруется только по последним критериям, которые я ввел в критерии1. Кто-нибудь может дать мне некоторое представление о том, почему?
FYI- моя временная работа заключается в том, чтобы запускать 4 команды фильтрации/удаления вместо одного, и он работает нормально - я просто хотел бы немного узнать о причинах этого.
Спасибо!
Вопрос стар, как ад, но я отчаянно нужна помощь. Решение, которое вы опубликовали, повышает вероятность ошибки 1004 autofilter метода класса диапазона с ошибкой – AntiDrondert
Вы проверили, что ваш srcRange является допустимым диапазоном, который содержит всю таблицу? –
Да, я так считаю, я попробовал использовать UsedRange (таблица - это единственное содержимое листа в любом случае), CurrentRegion верхней левой ячейки таблицы ('.Range (« A5 »). CurrentRegion'), назначенный вручную диапазон (' .Range («A5», «E25»)), а в качестве последнего средства попробовал использовать «Selection» – AntiDrondert