Профессиональные приемы работы в Microsoft Excel

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Новости:

Прикрепить к сообщению можно только файлы xls, gif, jpg, rar, zip,7z, bas, frm, cls, doc размером до 150 Кб.

Автор Тема: Гиперссылка плюс фильтр: два в одном.  (Прочитано 2896 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Лена21

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 3

Здравствуйте.

У меня не получается решить в MsExcel следующий вопрос:
 
чтобы при нажатии на гиперссылку переходило на определенный лист в этой же книге (это вроде легко, у меня получилось) и главное - чтобы отображались не все строчки, а только отфильтрованные по определенному условию (например,  столбец А = "Магазин1").

Можно ли организовать такой переход, используя только функцию "Гиперссылка" (либо другие функции), или же нужно использовать макросы?

Спасибо.

P.S. Извините за тупое название темы. Это первое, что пришло в голову.
Записан

Шпец Докапыч

  • Ветеран
  • *****
  • Уважение: +189/-4
  • Оффлайн Оффлайн
  • Сообщений: 1 919
  • ОБЛАДАТЕЛЬ УНИКАЛЬНЫХ НАВЫКОВ!!! :)

Вот такой однострочный макрос решает задачу:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    ActiveSheet.Range("магазины").AutoFilter 1, Target.TextToDisplay
End Sub

Можно заморочиться без макросов и пользовательских функций, но тогда и данные в таблице по ссылке надо будет фильтровать (забирать из основной таблицы) формулами, т.к. фильтр и расширенный фильтр не обновляются автоматически.
Записан
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

Лена21

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 3

Спасибо вам.
Это вроде то, что нужно. Намного удобнее, чем с присваивать макросы кнопкам.
И главный вопрос: как этот макрос перенести в свой документ?
Если простым копированием, то при запуске весь мой лист становится чистым.
Записан

Лена21

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 3

Кажется, получается!
Простым перенесением кусков своего документа в ваш!
Спасибо еще раз.
Записан

Шпец Докапыч

  • Ветеран
  • *****
  • Уважение: +189/-4
  • Оффлайн Оффлайн
  • Сообщений: 1 919
  • ОБЛАДАТЕЛЬ УНИКАЛЬНЫХ НАВЫКОВ!!! :)

Пожалуйста.
Макрос находится в модуле листа. Он вызывается по событию: переход по любой ссылке. Реакцию на другие события можно назначить, выбрав интересующее из списка доступных процедур (см. скрин).
Записан
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

GRKRND

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 4

Дабы не создавать новую тему оживлю эту, потому что задача похожая.
1. Есть исходные данные - перечень транзакций, у каждой есть признаки "период", "статья", "сумма". В примере они на листе "data"
2. Есть свод, который формируется по периодам и статьям, то есть суммирует все значения "сумма" для каждой пары "период"-"статья". В примере они на листе "total".

Собственно дальше задача: каждое значение на листе "total" должно быть гиперссылкой, нажатие на которую перебрасывает на лист "data" и применяет фильтр оставляя только те транзакции, которые сформировали значение (с которого совершен переход).

По сравнению с ранее предложенным решением разница в том, что фильтр должен быть применен не по содержимому текста гиперссылки, которое является динамическим, а по адресу ячейки, с которой совершается перевод. Для целей фильтрации на листе "data" добавлен столбец который определяет, в какую ячейку попадет каждая из транзакций.
Собственно интуиция мне подсказывает, что надо менять куски "ByVal Target As Hyperlink" и/или "Target.TextToDisplay", но на что их менять я не соображу.
Записан

Serge 007

  • Администратор
  • Ветеран
  • *****
  • Уважение: +339/-0
  • Оффлайн Оффлайн
  • Сообщений: 2 941
    • Мир Excel

...Дабы не создавать новую тему...
Зачем Вы вредите форуму, крадя у него его единственное предназначение - новые темы?

..потому что задача похожая...
"Похожая" не значит "такая же", а следовательно - вопрос задавать надо в новой теме, потому что это новый вопрос
Записан
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Яндекс-деньги: 41001419691823 | WMR:126292472390
 



Темы без ответов

20.06.2018 15:41 График. Выбрать данные. 4
22.05.2018 11:38 Скрипт написать который допишет данные в файл 161
03.03.2018 00:00 Подсчет отработанного времени, за исключением заранее определенных перерывов 593
14.02.2018 10:11 Подготовить читабельную отчетность по платежам 564
23.01.2018 13:46 Найти вероятность повторной покупки 571
12.01.2018 23:56 Сделать отчет на Power BI (Dashboard) 764
06.09.2017 10:43 Solver VBA не решает гиперболическое уравнение, но при этом решает гармоническое 842
17.08.2017 12:15 Гиперссылка и фильтр одновременно макрос 1074
23.05.2017 11:20 Копирование данных из одной таблицы в умную таблицу по условию 2509
15.03.2017 15:45 автозамена картинок PowerPoint 1561





Яндекс цитирования msexcel.ru Яндекс.Метрика

Страница сгенерирована за 0.211 секунд. Запросов: 96.