Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Координация фильтра на разных листах - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Координация фильтра на разных листах (Формулы/Formulas)
Координация фильтра на разных листах
K-girl Дата: Вторник, 16.02.2016, 14:36 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день.
Обращаюсь к экспертному сообществу, расписываясь в своей неспособности решить проблему.
Прибегаю к вашей экспертизе с большим уважением и надеждой, что сможете помочь.

В приложении пример таблицы, с которой работаю. Это списки с отметками по ряду признаков на разных листах.
Списки большие и требуют аналитической работы, в том числе, с фильтрами. Листы представляют примерно такую логику:
лист 1 - перечень и детальное описание каждой строки перечня,
лист 2 - время действия каждой строки из перечня,
лист 3 - взаимосвязь строк перечня друг с другом
лист 4 - технический - сводная таблица по трём первым листам
Крайне неудобно фильтровать каждый лист по идентичному признаку, - хотелось бы найти способ задавать фильтр только на первой странице, и, при переходе на другие листы файла видеть сразу ту же выборку (т.е. тот же отфильтрованный диапазон, что и на первой странице).
На примере - допустим, нужно найти все строки, отмеченные по признаку (столбцу) "рыбалка". Я это делаю на первом листе и хотелось бы избежать повторной работы с фильтром на 2м и 3м листах. Чтобы после отфильтрованного первого листа на 2м и 3м отображались те же строки - про рыбалку.

Опережая вопросы - реальные листы и перечень гораздо больше, чем в примере, и совмещать их все на одном листе нецелесообразно. Нереально будет вводить данные и работать с ними.
Кроме того, на странице "Сводная" такая опция - совмещение всех листов - реализована, но копируются данные из других 3 листов вручную, что крайне архаично, конечно. "Сводная" заведена только для целей всеобъемлющей аналитики, когда времени уже не жалко и сидишь всё копируешь и фильтруешь вручную.

Есть в рамках этой задачи ещё одна подзадача - как сделать так, чтобы цветные ячейки автоматически копировались с листа на лист в соответствующие поля? Даже более того - чтобы автоматизировать заполнение страницы "Сводная" - как можно автоматизировать копирование с сохранением формата на лист "Сводная" всех данных из всех других листов в отведённые ячейки?

Резюмируя, буду очень признательна, если научите копировать с листа на лист данные с сохранением формата и отфильтровывать несколько листов с идентичным перечнем, через работу с фильтром только на первом листе.
К сообщению приложен файл: 8764074.xlsx (24.9 Kb)


В ExCel играю плохо, но с удовольствием))
 
Ответить
СообщениеДобрый день.
Обращаюсь к экспертному сообществу, расписываясь в своей неспособности решить проблему.
Прибегаю к вашей экспертизе с большим уважением и надеждой, что сможете помочь.

В приложении пример таблицы, с которой работаю. Это списки с отметками по ряду признаков на разных листах.
Списки большие и требуют аналитической работы, в том числе, с фильтрами. Листы представляют примерно такую логику:
лист 1 - перечень и детальное описание каждой строки перечня,
лист 2 - время действия каждой строки из перечня,
лист 3 - взаимосвязь строк перечня друг с другом
лист 4 - технический - сводная таблица по трём первым листам
Крайне неудобно фильтровать каждый лист по идентичному признаку, - хотелось бы найти способ задавать фильтр только на первой странице, и, при переходе на другие листы файла видеть сразу ту же выборку (т.е. тот же отфильтрованный диапазон, что и на первой странице).
На примере - допустим, нужно найти все строки, отмеченные по признаку (столбцу) "рыбалка". Я это делаю на первом листе и хотелось бы избежать повторной работы с фильтром на 2м и 3м листах. Чтобы после отфильтрованного первого листа на 2м и 3м отображались те же строки - про рыбалку.

Опережая вопросы - реальные листы и перечень гораздо больше, чем в примере, и совмещать их все на одном листе нецелесообразно. Нереально будет вводить данные и работать с ними.
Кроме того, на странице "Сводная" такая опция - совмещение всех листов - реализована, но копируются данные из других 3 листов вручную, что крайне архаично, конечно. "Сводная" заведена только для целей всеобъемлющей аналитики, когда времени уже не жалко и сидишь всё копируешь и фильтруешь вручную.

Есть в рамках этой задачи ещё одна подзадача - как сделать так, чтобы цветные ячейки автоматически копировались с листа на лист в соответствующие поля? Даже более того - чтобы автоматизировать заполнение страницы "Сводная" - как можно автоматизировать копирование с сохранением формата на лист "Сводная" всех данных из всех других листов в отведённые ячейки?

Резюмируя, буду очень признательна, если научите копировать с листа на лист данные с сохранением формата и отфильтровывать несколько листов с идентичным перечнем, через работу с фильтром только на первом листе.

Автор - K-girl
Дата добавления - 16.02.2016 в 14:36
K-girl Дата: Вторник, 16.02.2016, 14:46 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Я прошу прощения у уважаемого сообщества, если это где-то уже обсуждалось.
Я честно поискала по сайту, но не нашла. Вероятно, потому, что не знаю, как правильно назвать обозначенную проблему.
Пожалуйста, не ругайтесь на меня, если это уже где-то есть, а просто дайте ссылочку)) Спасибо!


В ExCel играю плохо, но с удовольствием))
 
Ответить
СообщениеЯ прошу прощения у уважаемого сообщества, если это где-то уже обсуждалось.
Я честно поискала по сайту, но не нашла. Вероятно, потому, что не знаю, как правильно назвать обозначенную проблему.
Пожалуйста, не ругайтесь на меня, если это уже где-то есть, а просто дайте ссылочку)) Спасибо!

Автор - K-girl
Дата добавления - 16.02.2016 в 14:46
_Boroda_ Дата: Вторник, 16.02.2016, 14:52 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПойдеть?
http://www.excelworld.ru/forum/2-13096-111167-16-1411299591

Автор - _Boroda_
Дата добавления - 16.02.2016 в 14:52
Udik Дата: Вторник, 16.02.2016, 15:51 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
А если не пойдет, то надо к макросам обращаться, по теме типа: копирование настроек заданных столбцов автофильтра


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеА если не пойдет, то надо к макросам обращаться, по теме типа: копирование настроек заданных столбцов автофильтра

Автор - Udik
Дата добавления - 16.02.2016 в 15:51
K-girl Дата: Вторник, 16.02.2016, 16:27 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Boroda, спасибо.
Ознакомилась, скачала, открыла. Ничего не поняла (((
Вижу в примере фильтруемый первый лист и второй лист только с одним фильтром.
Отфильтровываю первый лист по любому столбцу - второй лист не меняется.

Udik, макросы - это что-то такое страшное, что я даже не знаю, как выглядит.
Если это меня не съест, - я даже готова разобраться. Но вряд ли у вас будет терпение возиться с чайником в этих вопросах((
А без макросов - никак?


В ExCel играю плохо, но с удовольствием))

Сообщение отредактировал K-girl - Вторник, 16.02.2016, 16:28
 
Ответить
СообщениеBoroda, спасибо.
Ознакомилась, скачала, открыла. Ничего не поняла (((
Вижу в примере фильтруемый первый лист и второй лист только с одним фильтром.
Отфильтровываю первый лист по любому столбцу - второй лист не меняется.

Udik, макросы - это что-то такое страшное, что я даже не знаю, как выглядит.
Если это меня не съест, - я даже готова разобраться. Но вряд ли у вас будет терпение возиться с чайником в этих вопросах((
А без макросов - никак?

Автор - K-girl
Дата добавления - 16.02.2016 в 16:27
Udik Дата: Вторник, 16.02.2016, 16:48 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
А без макросов - никак?

Я других способов скопировать настройки 5-и столбцов автофильтра не вижу. Но я ж и ошибаться могу.


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
Сообщение
А без макросов - никак?

Я других способов скопировать настройки 5-и столбцов автофильтра не вижу. Но я ж и ошибаться могу.

Автор - Udik
Дата добавления - 16.02.2016 в 16:48
Manyasha Дата: Вторник, 16.02.2016, 17:37 | Сообщение № 7
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
K-girl, вот, что я наковыряла:
Идею и основу для кода взяла здесь: http://www.planetaexcel.ru/techniques/2/197/
Кстати, там внизу страницы есть ссылка "что такое макросы...", почитайте, не такие уж они и страшные :)
Посмотреть код можно так: ПКМ по ярлычку листа (Перечень) - Исходный текст

На листе Перечень в зеленую табличку вписываете критерии фильтра, для удобства я сделала списочек по столбцу B.

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2:K11")) Is Nothing Then
        Application.ScreenUpdating = False
        On Error Resume Next
        For Each sh In ThisWorkbook.Sheets
            sh.ShowAllData
            Set x = sh.Cells.Find(What:="Наименование", After:=sh.Cells(1, 2), LookIn:=xlFormulas, _
                LookAt:=xlWhole, SearchOrder:=xlByRows)
            lr = sh.Cells(Rows.Count, 2).End(xlUp).Row
            lc = sh.Cells(x.Row, Columns.Count).End(xlToLeft).Column
            x.Offset(0, -1).Resize(lr, lc).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1").CurrentRegion
        Next sh
        Application.ScreenUpdating = True
    End If
End Sub
[/vba]

[offtop]На всякий случай:
автоматизировать заполнение страницы "Сводная"

Для этого отдельная тема нужна![/offtop]
К сообщению приложен файл: 8764074-1.xlsm (35.8 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеK-girl, вот, что я наковыряла:
Идею и основу для кода взяла здесь: http://www.planetaexcel.ru/techniques/2/197/
Кстати, там внизу страницы есть ссылка "что такое макросы...", почитайте, не такие уж они и страшные :)
Посмотреть код можно так: ПКМ по ярлычку листа (Перечень) - Исходный текст

На листе Перечень в зеленую табличку вписываете критерии фильтра, для удобства я сделала списочек по столбцу B.

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2:K11")) Is Nothing Then
        Application.ScreenUpdating = False
        On Error Resume Next
        For Each sh In ThisWorkbook.Sheets
            sh.ShowAllData
            Set x = sh.Cells.Find(What:="Наименование", After:=sh.Cells(1, 2), LookIn:=xlFormulas, _
                LookAt:=xlWhole, SearchOrder:=xlByRows)
            lr = sh.Cells(Rows.Count, 2).End(xlUp).Row
            lc = sh.Cells(x.Row, Columns.Count).End(xlToLeft).Column
            x.Offset(0, -1).Resize(lr, lc).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1").CurrentRegion
        Next sh
        Application.ScreenUpdating = True
    End If
End Sub
[/vba]

[offtop]На всякий случай:
автоматизировать заполнение страницы "Сводная"

Для этого отдельная тема нужна![/offtop]

Автор - Manyasha
Дата добавления - 16.02.2016 в 17:37
K-girl Дата: Вторник, 16.02.2016, 20:58 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Ух ты!!!
Маnyasha, это космос.
Спасибо!

Сейчас попробую с этим разобраться.
Сообщу по результатам)))


В ExCel играю плохо, но с удовольствием))
 
Ответить
СообщениеУх ты!!!
Маnyasha, это космос.
Спасибо!

Сейчас попробую с этим разобраться.
Сообщу по результатам)))

Автор - K-girl
Дата добавления - 16.02.2016 в 20:58
K-girl Дата: Четверг, 18.02.2016, 12:51 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Отвлекли. Сегодня попробую, Manyasha.


В ExCel играю плохо, но с удовольствием))
 
Ответить
СообщениеОтвлекли. Сегодня попробую, Manyasha.

Автор - K-girl
Дата добавления - 18.02.2016 в 12:51
K-girl Дата: Пятница, 19.02.2016, 13:41 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Manyasha, я попробовала - после просмотра нескольких роликов по макросам - приладить ваше решение к файлу.
Не получилось. Я, видимо, просто не понимаю, как можно взять файл и в него добавить макрос так, чтобы он заработал.
Беру алгоритм, копирую в разработчике в VBA на каждую страницу файла. Не фильтрует одновременно все листы.
((

Сняла защиту через "безопасность", перезапустила файл.
Ничего.

Как же мне понять, что я делаю не так?
Вы когда с макросами начинали работать - у вас сразу всё получилось? Я одна так торможу? ((


В ExCel играю плохо, но с удовольствием))
 
Ответить
СообщениеManyasha, я попробовала - после просмотра нескольких роликов по макросам - приладить ваше решение к файлу.
Не получилось. Я, видимо, просто не понимаю, как можно взять файл и в него добавить макрос так, чтобы он заработал.
Беру алгоритм, копирую в разработчике в VBA на каждую страницу файла. Не фильтрует одновременно все листы.
((

Сняла защиту через "безопасность", перезапустила файл.
Ничего.

Как же мне понять, что я делаю не так?
Вы когда с макросами начинали работать - у вас сразу всё получилось? Я одна так торможу? ((

Автор - K-girl
Дата добавления - 19.02.2016 в 13:41
Manyasha Дата: Пятница, 19.02.2016, 14:18 | Сообщение № 11
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
[offtop]
у вас сразу всё получилось?
либо сразу, но не все, либо все, но не сразу :D
Я одна так торможу?
Очень сомневаюсь! yes [/offtop]
Давайте по порядку.
Сначала Вам нужно подготовить файлик: на главном листе (НЕ на всех) сделайте табличку, в которую нужно вписывать критерии для фильтра. Столбцы этой таблицы должны присутствовать в фильтруемых таблицах на каждом листе. В моем примере это столбцы A:H (I, J, k - лишние, я про них забыла, можете их удалить).

Код срабатывает при изменении листа (по событию Change), значит макрос нужно скопировать в модуль листа: правой кнопкой мышки щелкайте по ярлычку главного листа (на котором Вы сделали новую таблицу) - Исходный текст. В появившееся окошко копируете мой макрос.
на каждую страницу файла
Это лишнее. Копируйте код только в главный лист, остальные не трогаем.


Если структура Вашей таблицы сильно отличается от того, что Вы показали в файле 1-го поста, сделайте файл максимально приближенный к оригиналу и покажите здесь.
К сообщению приложен файл: 8764074-2.xlsm (36.4 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщение[offtop]
у вас сразу всё получилось?
либо сразу, но не все, либо все, но не сразу :D
Я одна так торможу?
Очень сомневаюсь! yes [/offtop]
Давайте по порядку.
Сначала Вам нужно подготовить файлик: на главном листе (НЕ на всех) сделайте табличку, в которую нужно вписывать критерии для фильтра. Столбцы этой таблицы должны присутствовать в фильтруемых таблицах на каждом листе. В моем примере это столбцы A:H (I, J, k - лишние, я про них забыла, можете их удалить).

Код срабатывает при изменении листа (по событию Change), значит макрос нужно скопировать в модуль листа: правой кнопкой мышки щелкайте по ярлычку главного листа (на котором Вы сделали новую таблицу) - Исходный текст. В появившееся окошко копируете мой макрос.
на каждую страницу файла
Это лишнее. Копируйте код только в главный лист, остальные не трогаем.


Если структура Вашей таблицы сильно отличается от того, что Вы показали в файле 1-го поста, сделайте файл максимально приближенный к оригиналу и покажите здесь.

Автор - Manyasha
Дата добавления - 19.02.2016 в 14:18
K-girl Дата: Суббота, 20.02.2016, 18:58 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Manyasha, пробую прямо сейчас.
Вопрос. А без вот этой таблички сверху никак нельзя?
Просто и так мало места на экране - а так рабочая область данных совсем в полоску превращается...


В ExCel играю плохо, но с удовольствием))
 
Ответить
СообщениеManyasha, пробую прямо сейчас.
Вопрос. А без вот этой таблички сверху никак нельзя?
Просто и так мало места на экране - а так рабочая область данных совсем в полоску превращается...

Автор - K-girl
Дата добавления - 20.02.2016 в 18:58
K-girl Дата: Суббота, 20.02.2016, 19:05 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
А ещё я не вижу, как фильтровать ваш файл. У меня никакие фильтры не отражаются там.
Просто усеченных перечень - и всё.
Т.е. не получается проверить собственно механизм макроса.
Вот сейчас снесла в рабочей части первой страницы (для меня рабочая - это моя таблица) - фильтр. Всё обратно что было отобразилось.
Добавила фильтр, отфильтровала. На 1м листе фильтруется, - на остальных - перечень остаётся тем, что внесён в вашей технической (зелёной) табличке над моей...


В ExCel играю плохо, но с удовольствием))
 
Ответить
СообщениеА ещё я не вижу, как фильтровать ваш файл. У меня никакие фильтры не отражаются там.
Просто усеченных перечень - и всё.
Т.е. не получается проверить собственно механизм макроса.
Вот сейчас снесла в рабочей части первой страницы (для меня рабочая - это моя таблица) - фильтр. Всё обратно что было отобразилось.
Добавила фильтр, отфильтровала. На 1м листе фильтруется, - на остальных - перечень остаётся тем, что внесён в вашей технической (зелёной) табличке над моей...

Автор - K-girl
Дата добавления - 20.02.2016 в 19:05
Manyasha Дата: Воскресенье, 21.02.2016, 18:35 | Сообщение № 14
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
K-girl,
А без вот этой таблички сверху никак нельзя?
а как тогда макрос узнает по каким критериям фильтровать?
никакие фильтры не отражаются там.
Макрос использует расширенный фильтр, поэтому нет стрелочек для выбора критериев. Не знаю, как их вернуть и возможно ли это.
Чтобы показать все данные, просто удалите все критерии из верхней таблички.


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеK-girl,
А без вот этой таблички сверху никак нельзя?
а как тогда макрос узнает по каким критериям фильтровать?
никакие фильтры не отражаются там.
Макрос использует расширенный фильтр, поэтому нет стрелочек для выбора критериев. Не знаю, как их вернуть и возможно ли это.
Чтобы показать все данные, просто удалите все критерии из верхней таблички.

Автор - Manyasha
Дата добавления - 21.02.2016 в 18:35
K-girl Дата: Понедельник, 22.02.2016, 12:59 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Загадочно. Пошла смотреть ещё видео про макросы. Вдруг что-нибудь пойму)))
Попутно научилась делать пайвоты. Работать с ними приходилось и раньше. Но теперь вот и сделать могу.
Спасибо вам, Manyasha, за пинок к новым знаниям;)

Я, если не возражаете, ещё вернусь к вам с вопросом об этом макросе в ближайшее время.
Что-то мне подсказывает, что они ещё будут;)


В ExCel играю плохо, но с удовольствием))
 
Ответить
СообщениеЗагадочно. Пошла смотреть ещё видео про макросы. Вдруг что-нибудь пойму)))
Попутно научилась делать пайвоты. Работать с ними приходилось и раньше. Но теперь вот и сделать могу.
Спасибо вам, Manyasha, за пинок к новым знаниям;)

Я, если не возражаете, ещё вернусь к вам с вопросом об этом макросе в ближайшее время.
Что-то мне подсказывает, что они ещё будут;)

Автор - K-girl
Дата добавления - 22.02.2016 в 12:59
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Координация фильтра на разных листах (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!