Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 20.01.2010
Сообщений: 3

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

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

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

Worksheets("Лист2").Range("A1").AutoFilt er field:=1, Criteria1:=????????
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.01.2010, 11:33
Ответы с готовыми решениями:

Макрос для Эксель
Добрый день, мне нужна помощь с написанием одного макроса, суть в чем: есть много типовых таблиц, по шаблону одинаковые, отличаться могут...

Формула эксель через макрос
toiai, ребята знающие, подскажите пожалуйста.....как такую формулу сделать програмно...в макрос. ...

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

5
437 / 144 / 9
Регистрация: 12.01.2009
Сообщений: 678
Записей в блоге: 1
20.01.2010, 18:57
Можно попробовать запомнить критерии используемые для фильтрации в массив,
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
0 / 0 / 0
Регистрация: 20.01.2010
Сообщений: 3
20.01.2010, 19:35  [ТС]
Спасибо Это пример из HELP. Я его изучал, но как использовать не понял.
0
437 / 144 / 9
Регистрация: 12.01.2009
Сообщений: 678
Записей в блоге: 1
21.01.2010, 13:36
Использовать его очень легко, но для начала нужно разобраться что значит автофильтры равны?
0
0 / 0 / 0
Регистрация: 20.01.2010
Сообщений: 3
21.01.2010, 22:16  [ТС]
Цитата Сообщение от analyst Посмотреть сообщение
Использовать его очень легко, но для начала нужно разобраться что значит автофильтры равны?
Равны, значит: На первом и на втором листе в одном и том же(допустим в первом) столбце информация совподает. Поэтому если на первом выбирается автофильтр, то на втором при переходе нужно тоже самое автоматом.
0
437 / 144 / 9
Регистрация: 12.01.2009
Сообщений: 678
Записей в блоге: 1
22.01.2010, 11:22
Тогда раз вы разбирались с примером из мануала, который я привел, то вы должны были заметить пример ниже:
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.01.2010, 11:22
Помогаю со студенческими работами здесь

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

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

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

Нужен макрос, который загрузит в эксель выбранное количество ТХТ файлов на лист
Добрый день! Прошу помочь. Есть n ТХТ файлов. Нужен макрос, который загрузит в эксель выбранное количество ТХТ файлов на лист: в...

Фильтровка даты в DBGrid
Вообщем есть поле "Дата оплаты" в нее ежемесячно вносятся данные об оплате. Как отфильтровать дату, что б в отчетах выводились данные за...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru