Здравствуйте.
У меня не получается решить в MsExcel следующий вопрос:
чтобы при нажатии на гиперссылку переходило на определенный лист в этой же книге (это вроде легко, у меня получилось) и главное - чтобы отображались не все строчки, а только отфильтрованные по определенному условию (например, столбец А = "Магазин1").
Можно ли организовать такой переход, используя только функцию "Гиперссылка" (либо другие функции), или же нужно использовать макросы?
Спасибо.
P.S. Извините за тупое название темы. Это первое, что пришло в голову.
Вот такой однострочный макрос решает задачу:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
ActiveSheet.Range("магазины").AutoFilter 1, Target.TextToDisplay
End Sub
Можно заморочиться без макросов и пользовательских функций, но тогда и данные в таблице по ссылке надо будет фильтровать (забирать из основной таблицы) формулами, т.к. фильтр и расширенный фильтр не обновляются автоматически.
Спасибо вам.
Это вроде то, что нужно. Намного удобнее, чем с присваивать макросы кнопкам.
И главный вопрос: как этот макрос перенести в свой документ?
Если простым копированием, то при запуске весь мой лист становится чистым.
Кажется, получается!
Простым перенесением кусков своего документа в ваш!
Спасибо еще раз.
Пожалуйста.
Макрос находится в
модуле листа. Он вызывается по событию: переход по любой ссылке. Реакцию на другие события можно назначить, выбрав интересующее из списка доступных процедур (см. скрин).
Дабы не создавать новую тему оживлю эту, потому что задача похожая.
1. Есть исходные данные - перечень транзакций, у каждой есть признаки "период", "статья", "сумма". В примере они на листе "data"
2. Есть свод, который формируется по периодам и статьям, то есть суммирует все значения "сумма" для каждой пары "период"-"статья". В примере они на листе "total".
Собственно дальше задача: каждое значение на листе "total" должно быть гиперссылкой, нажатие на которую перебрасывает на лист "data" и применяет фильтр оставляя только те транзакции, которые сформировали значение (с которого совершен переход).
По сравнению с ранее предложенным решением разница в том, что фильтр должен быть применен не по содержимому текста гиперссылки, которое является динамическим, а по адресу ячейки, с которой совершается перевод. Для целей фильтрации на листе "data" добавлен столбец который определяет, в какую ячейку попадет каждая из транзакций.
Собственно интуиция мне подсказывает, что надо менять куски "ByVal Target As Hyperlink" и/или "Target.TextToDisplay", но на что их менять я не соображу.
Цитата: GRKRND от 01.08.2016, 23:45...Дабы не создавать новую тему...
Зачем Вы вредите форуму, крадя у него его единственное предназначение - новые темы?
Цитата: GRKRND от 01.08.2016, 23:45..потому что задача похожая...
"
Похожая" не значит "
такая же", а следовательно - вопрос задавать надо в новой теме, потому что это
новый вопрос