Страницы: 1
RSS
Как "привязать" кнопку к гиперссылке
 
Всем доброго дня!
Прошу помощи вот в какой проблеме! Имеется книга эксель, в которой задана гиперссылка =ГИПЕРССЫЛКА(ВПР(E1;Лист2!1:1048576;2;ЛОЖЬ)) хотелось сделать чтобы эту самую гиперссылку можно было запустить нажатием кнопки. Как сделать не знаю! Кнопку создал, какой макрос написать теперь не знаю чтобы активировать ячейку с гиперссылкой...
 
Включите макрорекордер и нажмите на эту гиперссылку. Затем остановите запись - макрос готов.
 
Макрос записался
Sub Макрос1()
'
' Макрос1 Макрос
'

'
   Sheets("Лист2").Select
   range("N1").Select
   End Sub
кнопку привязал, но при нажатии просто переводит в ячейку с гиперрссылкой не открывая ее..
мне нужно чтобы при нажатии открывался файл указанный в гиперссылке. что не так в коде?
 
А где Hyperlinkfollow?
 
не знаю! сделал как написал Юрий, вот что получилось..
 
Запишите не активацию ячейки, а именно клик по гиперссылке. Рекордер запишет примерно такое:
Код
Range("A14").Select
    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
 
Должно быть еще: Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
 
Не то вы нажимали.

Range("N1").Hyperlinks(1).Follow
Учимся сами и помогаем другим...
 
Цитата
karych35 пишет:
не знаю! сделал как написал Юрий, вот что получилось..
Неправда - я не так советовал - перечитайте моё сообщение:
Цитата
Включите макрорекордер и нажмите на эту гиперссылку
 
Я нажимаю на запись макроса, далее перехожу на второй лист и жму на гиперссылку (синий шрифт), далее нажимаю остановку записи и привязываю кнопку! Почему в коде не прописывает все остальное я не знаю! Я не активирую ячейку а жму именно на ссылку..
вставил в код данные
   range("N1").Select
   Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End Sub

пишет ошибку run-time error '9'
 
Покажите ЦЕЛИКОМ код, записанный рекордером - я не вижу перехода на второй лист.
 
Sub Макрос1()
'
' Макрос1 Макрос
'

'
   Sheets("Лист2").Select
   range("N1").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End Sub
 
http://clip2net.com/s/5aCvG9
 
может это из-за "мудренной" формулы в гиперссылке (=ГИПЕРССЫЛКА(ВПР(Лист1!E1;Лист2!1:1048576;2;ЛОЖЬ))?
 
Не знаю, что у Вас там в этой ячейке... Обработанный напильником код у меня работает и выглядит так:
Код
Sheets("Лист1").Range("A14").Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

У меня в А14 точно гиперссылка на файл.
 
Юрий, и у меня ссылка, я ведь ее мышкой нажимаю, все открывается... а вот через кнопку не работает! жаль! Но все равно спасибо за оперативную помощь!!!
 
Цитата
karych35 пишет:
может это из-за "мудренной" формулы в гиперссылке
А у меня в ячейке именно ГИПЕРССЫЛКА, а не формула.
 
да сейчас попробовал "чистую" гиперссылку (не формулу) все работает! а гиперссылку с формулой как запустить через кнопку? можно или нет?
 
Чувствую, что так вам надо

Код
CreateObject("WScript.Shell").Run Chr(34) & Range("N1") & Chr(34)
Учимся сами и помогаем другим...
 
Цитата
karych35 пишет:
Я нажимаю на запись макроса, далее перехожу на второй лист и жму на гиперссылку (синий шрифт), далее нажимаю остановку записи и привязываю кнопку! Почему в коде не прописывает все остальное я не знаю!
Вероятно Excel 2007. В нем макрорекордер "урезанный"
 
Михаил С., мои тесты показали:
1) если в ячейке указана гиперссылка, то макрорекордер пишет правильный Selection.Hyperlinks(1).Follow
2) если в ячейке сидит формула (как в данном случае), но открывается excel-файл, то макрорекордер пишет Workbooks.Open содержимое_ячейки и т.д.
3) если в ячейке сидит формула, но открывается НЕ excel-файл, то макрорекордер пишет именно то, что получалось у karych35

Именно поэтому я и предложил забить на кнопку код, выложенный выше
Учимся сами и помогаем другим...
 
Всем спасибо за участие! Вот что я сделал:
убрал из формулы (=ГИПЕРССЫЛКА(ВПР(Лист1!E1;Лист2!1:1048576;2;ЛОЖЬ)) гиперссылку, у меня вышел в ячейке адрес файла, в модуле написал код
Sub TextToLink()
Sheets("Лист1").Select
range("A13").Select
ActiveCell.Hyperlinks.Add ActiveCell, ActiveCell.Text
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=Tr
End Sub
сразу скажу что переместил ссылку на Лист1, чтобы не перебрасывало при открытии гиперссылки на второй лист, привязал макрос к кнопке и все заработало!!! Уряяяяя!
Еще раз всем СПАСИБО!!!
Страницы: 1
Читают тему
Наверх