|
Работа Hyperlink на VBA
|
|||
---|---|---|---|
#18+
Добрый вечер. Пытаюсь осваивать VBA, а именно гиперссылки а автофильтр. Есть задача: с 1-ого листа гиперссылки введу на остальные и при переходе срабатывает автофильтр. Но если я указываю это в Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) на том листе куда ведет гиперссылка, то код автофильтра не срабатывает. При указании в листе где гиперссылка, работает при 1 ссылки, при добавлении 2-ой валится с ошибкой. При указании для книги, не делал, но думаю ничего хорошего. Вопрос как заставить работать автофильтр именно на том листе КУДА ссылается гиперссылка? Есть какие-то идеи или предложения? Вся справочная информация принимается и прочитывается на ура! P.S. листов может быть много. P.S.S. Возможно ли гиперссылка с последующим автофильтром между разными книгами или только с записью макросов в книгу PERSON? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2015, 23:53 |
|
Работа Hyperlink на VBA
|
|||
---|---|---|---|
#18+
T1gRa_NTВопрос как заставить работать автофильтр именно на том листе КУДА ссылается гиперссылка? ... P.S. листов может быть много.Используйте событие Workbook_SheetActivate в модуле книги. T1gRa_NTP.S.S. Возможно ли гиперссылка с последующим автофильтром между разными книгами или только с записью макросов в книгу PERSON?Используйте события WorkbookOpen, WorkbookActivate приложения. Это можно делать и в PERSONAL, и в любой другой книге. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 00:38 |
|
Работа Hyperlink на VBA
|
|||
---|---|---|---|
#18+
Насколько я понял, это событие при вызове листа книги. В фильтрах используются данные расположенные в определенных местах от гиперссылки и если сменить лист вручную, то данных для фильтра не будет. Так что необходимо смотреть именно переход по гиперссылке. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 07:28 |
|
Работа Hyperlink на VBA
|
|||
---|---|---|---|
#18+
На свежую голову с утра решение найдено. В событие Worksheet_FollowHyperlink - на листе ГДЕ находится гиперссылка пишется проверка на имя или какой-либо другой параметр листа на КОТОРЫЙ ссылается и для каждого листа необходимо четко определить правила, если совпадающие то указать в условии все листы где его можно применить. If ActiveSheet.Name = "Лист2" Then ActiveSheet.Range("$A$1:$D$6").AutoFilter Field:=1, Criteria1:=Target.Range.Offset(0, -3) ActiveSheet.Range("$A$1:$D$6").AutoFilter Field:=2, Criteria1:=Target.Range.Offset(0, -2) End If дальше все работает. IF можно заменить на CASE. Ушел тренироваться на реальных записях... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2015, 09:22 |
|
Работа Hyperlink на VBA
|
|||
---|---|---|---|
#18+
T1gRa_NT, Проще написать функцию, в которую передавать атрибут - имя листа или экземпляр. Код: vbnet 1.
При переходе по гиперссылки есначала определить имя листа ( и книги если нужно.) затем передать его в функцию которая для этого листа поставит автофильтр ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2015, 21:05 |
|
Работа Hyperlink на VBA
|
|||
---|---|---|---|
#18+
Поставит это хорошо, но отфильтровать по 2-ум данным которые сдвинуты относительно гиперссылки при учете что гиперссылок много, и данные для каждой сдвинуты на разные интервалы функция сможет? или придется так же определять с какого места идет гиперссылка. Самый факт, это необходимо сделать 1 раз в файле шаблона, дальше просто Excel обновляется из БД при необходимости и в шаблоне четко буду знать наименование и структуры листов. Но спасибо за идею, она более универсальна будет время, попробую разобраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2015, 06:51 |
|
Работа Hyperlink на VBA
|
|||
---|---|---|---|
#18+
T1gRa_NT, Что-то вроде вызова ниже может подойти? Код: vbnet 1. 2. 3. 4.
Для данных, являющихся аргументами фильтра определить правила размещения необходимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2015, 21:59 |
|
|
start [/forum/topic.php?fid=61&fpage=44&tid=2173415]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 285ms |
total: | 418ms |
0 / 0 |