Страницы: 1 2 След.
RSS
Привязка гиперссылки к текущей ячейке
 
Доброго всем дня.
Нужна небольшая помощь. Вопрос собственно в названии, но попробую кратко но понятно описать суть.
Как привязать гиперссылку к текущей ячейке, чтобы при нажатии на нее не открывался Outlook, а просто ничего не происходило. Т.е. имеется куча ячеек с E-mail адресами  и при нажатии на них открывается Outlook, а это мне не нужно.
Менять ссылку на ячейку вместо MailTo в настройках гиперссылки - не вариант, т.к. адресов много.
Пытался записать макрорекордером изменение ссылки с MailTo на текущую ячейку, но там только по Selection. А я так понимаю, что нужно что-то вроде по Target или ActiveCell, вобщем понимаю, а записать не могу, ума не хватает.
Какие сточки мне записать для изменения ссылки в текущей ячейке.
 
Цитата
чтобы при нажатии на нее ... ничего не происходило.
А зачем тогда гиперссылка?
 
Юрий М может я немножко не так выразился ни ничего не происходило, а гиперссылка ссылалась на эту же ячейку.
Я хотел это написать, в первом посте, но думал что и так много лишнего понаписывал.
Это нужно для того чтобы не мешало работе макроса, который запускается через эту гиперссылку. Просто получается что при работе макроса, еще и Outlook запускается.
 
Так укажите ей тогда вместо электронной почты адрес ячейки (место в документе).
 
Теперь вы меня не поняли. Я ж написал что ячеек с адресами много и они пополняются, каждую ячейку в макросе указывать - это тоже самое что в настройках гиперссылки менять ссылку с MailTo на ячейку - хлопотное дело. А вот указать в макросе текущую ячейку было бы замечательно, но как я уже писал не знаю как это сделать.
 
Для начала включите макрорекордер и запишите изменение одной гиперссылки на текущую ячейку. А затем добавим перебор этих ячеек в цикле.
 
Это я уже делал
Код
Range("F4").Select
    Selection.Hyperlinks(1).Address = ""
    Selection.Hyperlinks(1).SubAddress = "Лист1!F4" 
Но при нажатии на другую гипперссылку находящуюся в другой ячейке например F5 будет перепрыгивать на F4 это конечно не страшно две ячейки рядом, но что делать если нажать на гиперссылку например в ячейке F365, то фокус переместиться на F4, а это не есть хорошо.
Вот я и хотел чтоб каждая гиперссылка ссылалась исключительно на свою ячейку. Т.е. Текущая гиперссылка ссылается на текущую ячейку в которой она находится. Там вроде как-то и без цикла можно.
 
Ну так осталось чуть-чуть))
Код
Sub TestHyperLinks()
Dim LastRow As Long, i As Long
    LastRow = Cells(Rows.Count, 6).End(xlUp).Row
    For i = 2 To LastRow
        With Cells(i, 6)
            .Hyperlinks(1).Address = ""
            .Hyperlinks(1).SubAddress = "Лист1!" & .Address(0, 0)
        End With
    Next
End Sub

 
 
не работает  :(
 
У меня работает.
 
Все тоже самое что и у меня было. По-прежнему при нажатии на гиперссылку открывается Outlook
 
У меня не открывается.
 
Вот файл
 
Поменяйте двойку на четвёрку - у Вас же данные начинаются с четвёртой строки.
Код
For i = 4 To LastRow
 
Всё работает.
 
Что-то я ничего не могу понять. Поменял. Результата ноль.
 
Цитата
ничего не могу понять
Выполняем?!
" 2.2. Опишите максимально подробно вашу задачу и желаемый результат. Желательно уточнить вашу версию Excel. "
И ОС, наверное, ... ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Так вроде бы я все подробно описал
ОС 7 x86 Office 2013
Задача:
При нажатии на гиперссылку в любой ячейке она должна ссылаться на свою же ячейку, а не запускался Outlook. Запуск Outlooka мне не нужен. Т.е. при нажатии на гиперссылку например в ячейке F4 она ссылалась на F4, при нажатии на гиперссылку в ячеке F5 - она ссылалась на ячейку F5. Это можно сделать если поменять в настройках гиперссылки ссылку на ячейку, вместо адреса MailTo. Но таких гиперссылок у меня куча и каждую вручную менять это долго, к тому же они пополняются.
Вот я и хотел чтоб подсказали, какие строчки в коде написать, чтобы менялась в гиперссылке ссылка с MailTo на текущую ячейку, из которой она была запущена.
P.S. Если это невозможно, то так и скажите, чтоб я сам не заморачивался и людям голову не забивал всякой ерундой. Просто я думал что это возможно, раз макрорекордером изменения в настройках гиперссылки выделенной ячейки отслеживаются, значит можно как-то и жестко привязать все ячейки в которых находятся гиперссылки.
 
Цитата
Если это невозможно, то так и скажите, чтоб я сам не заморачивался и людям голову не забивал всякой ерундой. Просто я думал что это возможно...
Это возможно, и это работает: я прямо в ВАШЕМ файле меняю 2 на 4, запускаю макрос - все четыре ссылки переориентируются каждая на СВОЮ ячейку. Обращения к Outlook Не происходит.  
 
Цитата
меняю 2 на 4, запускаю (!!!) макрос...
А ларчик вона как открывается... Но хотелось, наверное, по обращению/активации ячейки с гипер... ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Юрий М после вашего сообщения решил еще раз попробовать, может быть я что-то ступил. Но нет, не работает. Снова запускается Outlook. Только если потом захожу в настройки гиперссылки и меняю ссылку на ячеку, только тогда outlook не запускается. Это просто пичалька какаята.
 
Z все верно, я же про это и писал
 
Цитата
не работает. Снова запускается Outlook.
А макрос у Вас вообще работает? Они (макросы) разрешены?
 
Да другие макросы работают.
 
Попробуйте.
Кнопка удаляет имеющиеся ссылки. При добавлении новых адресов в столбец F ссылки удаляются автоматически.
 
Тогда не понимаю, в чём проблема... А если запускаете макрос прямо в том файле, что выложен на сайт в #13 (без изменения 2 на 4) - макрос срабатывает молча и не ругается?
 
Юрий М
Код
что выложен на сайт в #13 
открывает Outlook

Sergei_A похоже на то. Работает. Вот так мне и нужно было, только без кнопки, а чтоб ссылки менялись автоматически. Т.е. я правильно вас понял, после того как раз кнопку нажал, ее можно удалить. Или ее теперь постоянно надо будет нажимать. Нельзя ли это как-то объединить и сделать без кнопки.
 
Цитата
открывает Outlook
Макрос НЕ ОТКРЫВАЕТ Outlook!!! Я просил Вас выполнить макрос в том файле.
 
antal10, в файле Sergei_A именно мой макрос. Вы издеваетесь?
Ушёл из темы.
 
Да, я всего лишь приделал кнопку к макросу, который написал Вам Юрий М.
Не понимаю в чем Ваша проблема. Макрос Юрия нужно было запустить! Как Вы это делали???  Впрочем.....
Я в своём ответе #24 вроде понятно всё написал. Ещё раз повторю - Попробуйте!
 
Юрий М не надо нервничать, вы что думаете что мне заняться нечем или мне 15 лет? Я сам уже с этим намудохался и писал, что если это не возможно, то не надо заморачиваться, я не не собираюсь этим никого напрягать. Я вам объяснил что в #13 файл запускается Outlook. Я понимаю что и там и там ваш макрос.  Я же не оспариваю чей это макрос ваш или не ваш. Но в файле #24 после нажатия кнопки все заработало, спасибо вам за ВАШ макрос, а до нажатия запускался Outlook. Я всего лишь говорю, что тот не работал, а этот работает, но после нажатия кнопки удалить ссылки. Я могу  вам видео снять для наглядности, чтоб вы поняли, что все почесноку. А вы сразу ушел из темы - ушел из темы.

P.s. Наверное за целый день общения на форуме с разными людьми, все-таки сказывается. Юрий М поберегите нервы. ;)  Вам еще модерировать и модерировать.
Страницы: 1 2 След.
Наверх