2015-10-26 2 views
1

У меня есть книга с несколькими листами и одинаковым количеством столбцов на каждом листе. Каждый рабочий день новый лист добавляется в книгу.vba код для фильтрации на нескольких листах

Может ли отфильтрованные данные на первом листе переноситься на последующие листы, запустив код vba?

Привет

+1

Да, но ТАК ISN» t служба записи кода. Если у вас есть какой-то код, который вы пробовали, и он не работает, отправьте его и сообщите нам, где он выдает ошибку, плюс то, что ошибка, и мы постараемся помочь. –

+0

Сделайте поиск в Интернете по своему названию, это довольно популярный вопрос – Davesexcel

+0

Спасибо, Марк и Дейвс. В Интернете у меня есть один код, но он показывает ошибку «Определенная приложением или объектная ошибка». Пожалуйста, помогите, как я отправляю код здесь. –

ответ

1

Вы можете получить доступ к фильтров первого листа и соответствующего отфильтрованного диапазона с

Dim rng As Range 
    With Sheets(1)  
     .AutoFilter 
    Set rng = .AutoFilter.Range 
    End With 

Вся информация на фильтрах хранится в коллекции фильтров объекта Автофильтр

Dim filters As Filters 
Set filters = Sheets(1).AutoFilter.Filters 

Каждый элемент этой коллекции представляет один столбец в отфильтрованном диапазоне. Следующее заявление заставило бы вас факторам1 первой колонки:

filters.Item(1).Criteria1 

Вы можете использовать полученную информацию на других листах, которые вы хотите передать их. Сделайте это с помощью метода Автофильтра диапазона объекта (Documentation)

Если столбцы идентичны, как вы говорите, что вы можете получить целевой диапазон легко, используя свойство адреса:

Sheets(n).Range(rng.address).AutoFilter arguments_here 
+0

Спасибо Charis –

+0

@KISHORBHOIR Можете ли вы пометить ответ как принятый, если он решил вашу проблему? спасибо – ChrisUnbroken

Смежные вопросы