Форум программистов, компьютерный форум, киберфорум
Наши страницы

VBA

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
mr. Grey
0 / 0 / 0
Регистрация: 20.01.2010
Сообщений: 3
#1

Макрос эксель. Фильтровка - VBA

20.01.2010, 11:33. Просмотров 1938. Ответов 5
Метки нет (Все метки)

Люди плиз, как сделать по событию перехода на второй лист, что бы автофильтр был равен автофильтру на первом листе(только по одной колонке). Т.е. Выбираем автоф. на первом листе, а он автоматом ставит фильтр при переходе на втором листе. Не могу разобраться

Worksheets("Лист2").Range("A1").AutoFilter field:=1, Criteria1:=????????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2010, 11:33
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Макрос эксель. Фильтровка (VBA):

Макрос для таблицы эксель с поиском - VBA
Привет, помогите, очень-очень срочно В эклеле таблица: номер документа, фамилия препода, оценка по предмету. Оператор вводит эти данные...

Макрос на сохранение двух листов эксель в отдельные файлы mht - VBA
Здравствуйте, как сделать что бы эксель 2003 сохранял выбранные листы (Лист1 и Лист2) в отдельные файлы mht при нажатии Command Button? ...

Макрос создания нового листа в Эксель с названием от 1 и далее нарастающим итогом - VBA
Добрый вечер! Очень нужна помощь, уважаемые программисты!!! Необходим макрос для кнопки, при нажатии которой, создается новый лист в...

Спасите, пожалуйста, создать макрос, который запишет темы писем в Эксель - VBA
Помогите, пожалуйста, создать макрос, который запишет темы писем в Эксель. Я вот никак, смогла сделать только, чтобы макрос сохранял...

Макрос вставки файлов в листы-Необходимо изменить ниже приведённый макрос - VBA
Необходимо изменить ниже приведённый макрос, взятый с форума. Необходима помощь. Буду признателен. Автору макроса особое спасибо. ...

Макрос: из PowerPoint развернуть Exel и вызвать уже в нём макрос - VBA
Собственно сабж. Работая в презентации PowerPoint нужно по клику на кнопку с прикреплённым макросом развернуть уже открытый документ Exel и...

5
analyst
434 / 141 / 9
Регистрация: 12.01.2009
Сообщений: 678
Записей в блоге: 1
20.01.2010, 18:57 #2
Можно попробовать запомнить критерии используемые для фильтрации в массив,
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Dim w As Worksheet
Dim filterArray()
Dim currentFiltRange As String
 
Sub ChangeFilters()
 
Set w = Worksheets("Crew")
With w.AutoFilter
    currentFiltRange = .Range.Address
    With .Filters
        ReDim filterArray(1 To .Count, 1 To 3)
        For f = 1 To .Count
            With .Item(f)
                If .On Then
                    filterArray(f, 1) = .Criteria1
                    If .Operator Then
                        filterArray(f, 2) = .Operator
                        filterArray(f, 3) = .Criteria2
                    End If
                End If
            End With
        Next
    End With
End With
а потом взять критерии из соответствующего столбца и применть их к новому фильтру.
1
mr. Grey
0 / 0 / 0
Регистрация: 20.01.2010
Сообщений: 3
20.01.2010, 19:35  [ТС] #3
Спасибо Это пример из HELP. Я его изучал, но как использовать не понял.
0
analyst
434 / 141 / 9
Регистрация: 12.01.2009
Сообщений: 678
Записей в блоге: 1
21.01.2010, 13:36 #4
Использовать его очень легко, но для начала нужно разобраться что значит автофильтры равны?
0
mr. Grey
0 / 0 / 0
Регистрация: 20.01.2010
Сообщений: 3
21.01.2010, 22:16  [ТС] #5
Цитата Сообщение от analyst Посмотреть сообщение
Использовать его очень легко, но для начала нужно разобраться что значит автофильтры равны?
Равны, значит: На первом и на втором листе в одном и том же(допустим в первом) столбце информация совподает. Поэтому если на первом выбирается автофильтр, то на втором при переходе нужно тоже самое автоматом.
0
analyst
434 / 141 / 9
Регистрация: 12.01.2009
Сообщений: 678
Записей в блоге: 1
22.01.2010, 11:22 #6
Тогда раз вы разбирались с примером из мануала, который я привел, то вы должны были заметить пример ниже:
The following example uses the values stored in module-level variables in the previous example to restore the original autofiltering to the Crew worksheet.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub RestoreFilters()
Set w = Worksheets("Crew")
w.AutoFilterMode = False
For col = 1 To UBound(filterArray(), 1)
    If Not IsEmpty(filterArray(col, 1)) Then
        If filterArray(col, 2) Then
            w.Range(currentFiltRange).AutoFilter field:=col, _
                Criteria1:=filterArray(col, 1), _
                    Operator:=filterArray(col, 2), _
                Criteria2:=filterArray(col, 3)
        Else
            w.Range(currentFiltRange).AutoFilter field:=col, _
                Criteria1:=filterArray(col, 1)
        End If
    End If
Next
End Sub
p.s. страничка с этим хелпом называется AutoFilter Object
Этот пример показывает как создать точно такой же фильтр, но на том же месте. Если вам нужно создать его в другом месте, то этот случай тоже оговорен в мануале:
To create an AutoFilter object for a worksheet, you must turn autofiltering on for a range on the worksheet either manually or using the AutoFilter method of the Range object.
Успехов
1
22.01.2010, 11:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2010, 11:22
Привет! Вот еще темы с ответами:

Макрос, чтобы другой макрос распихал сам по N файлам - VBA
Может эта тема уже тут звучала, да поиск не помог... Просто проблема в том, что макрос постоянно модернизируется в все файлы вручную потом...

Макрос, запускающий макрос из другого закрытого файла - VBA
Здравствуйте. Использую Office 2007. Поискал на форуме, не нашел ответа. Опишу подробно проблему. Есть книга1, которая лежит в...

Сделать макрос в Word, вводишь строку и макрос произвольно меняет шрифт, цвет и размер для каждого слова из этого активного вордовского документа. - VBA
Началось VBA - лекций нет, только практика. Препод категоричеки отказывается что-нить объяснять, ссылаясь на то, что: "если сам найдешь...

Обработка данных в Эксель - VBA
Доброго времени суток всем! На поиск потратил много времени, не получилось найти ничего подобного ... Делаю только первые шаги в ВБА ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru