Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2007 - [решено] Excel | Замена данных в гиперссылке

Ответить
Настройки темы
2007 - [решено] Excel | Замена данных в гиперссылке

Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: malkinfedor
Дата: 24-06-2010
Описание: не просто ссылки а ГИПЕР-ссылки
Вопрос таков:
есть таблица, в ней есть столбец с гипер-ссылками на файлы и папки которые находятся в сети, например \\notebook8\distr.
Так вот, хочу я эти файлы с папками переместить на сервер, в таблице соответственно нужно поменять ссылки с notebook8 на server.
Подскажите как это сделать, уже нет мочи больше в одиночку бороться.

Всем огромно спасибо заранее!

Отправлено: 19:56, 09-06-2010

 

Аватара для Morpheus

Ветеран


Сообщения: 12426
Благодарности: 2328

Профиль | Отправить PM | Цитировать


malkinfedor, Ctrl+H.

Отправлено: 20:16, 09-06-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


К сожалению не все так просто, когда выделяешь эту ячейку с гиперссылкой, то в строке формула только то что написано в самой яячейке а не адрес куда ссылается эта ссылка.

Отправлено: 20:25, 09-06-2010 | #3


Аватара для Morpheus

Ветеран


Сообщения: 12426
Благодарности: 2328

Профиль | Отправить PM | Цитировать


malkinfedor, нашел макрос. У меня 2010 Office, но в 2007 должно быть примерно так же:
  1. Файл ---> Параметры ---> Настройка ленты ---> ставим флажок "Разработчик" ---> OK.
  2. Разработчик ---> Макросы ---> задаём имя, например: "lnk" ---> Создать.
  3. Копируем текст макроса:
    Код: Выделить весь код
    Sub lnk()
    old_link = ActiveCell.Text
    Selection.Hyperlinks.Delete
    new_link = Replace(old_link, "notebook8", "server")
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
    new_link, TextToDisplay:=new_link
    End Sub
    Сохраняем и закрываем окно.
  4. Возвращаемся в таблицу ---> выделяем ячейки со ссылками ---> Макросы ---> Выполнить.
Ссылки должны замениться, текст меняем с помощью Ctrl+H.
Разумеется, тренироваться лучше на копии файла.

Отправлено: 21:33, 09-06-2010 | #4


Старожил


Сообщения: 191
Благодарности: 64

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg 047.JPG
(30.1 Kb, 134 просмотров)
Тип файла: jpg 048.JPG
(34.2 Kb, 126 просмотров)

Если пользователь чувствует себя с макросами неуверенно, ему лучше подойдет способ, основанный на формулах.
На первой картинке - вид ячеек с содержимым, на второй - в режиме формул.

Отправлено: 05:37, 10-06-2010 | #5


Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: rar Replace_Hyperlink.rar
(18.4 Kb, 158 просмотров)

Спасибо всем товарищи, очень помогли!
Тему можно считать решенной, но если вдруг у кого возникнет такая же потребность, сейчас сюда выложу ответы с другого форума, не знаю разрешено ли тут давать линки на другие форумы.

Как применить этот макрос для других файлов, это для тех кто вообще с excel не дружит
Цитата:
Перенесите единственный модуль из этой книги в свою. Alt+F11.
Модуль называется mReplaceHyperlink. Подробнее о том, где искать модули:http://excel-vba.ru/Tips_What_Module.html
Вам нужен стандартный модуль.

Перенести можно прям в редакторе VBA, просто удерживая мышкой этот модуль и перетаскивая в папку модулей своей книги.

Отправлено: 19:52, 15-06-2010 | #6


Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Мне надо было поменять ссылки в двух колонках (в 16-й и 15-й по счету, т.е. в колонке "P" и "Q")

Вот что получилось:

Sub HLinke()
For index2 = 1 To 2
For Index = 2 To 300
Cells(Index, 15 + index2).Select
If ActiveCell.Text <> "" Then
old_link = ActiveCell.Text
Selection.Hyperlinks.Delete
new_link = Replace(old_link, "notebook8", "server")
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
new_link, TextToDisplay:=new_link
End If
Next Index
Next index2
End Sub

Отправлено: 10:16, 20-01-2011 | #7


Аватара для Petrik99

Покинул форум


Сообщения: 1
Благодарности: 0

Профиль | Цитировать


А если нужно, к примеру, не удалить/изменить что-то в ссылке, а добавить. Тоесть есть путь C:\Program Files, а нужно сделать C:\2013\Program Files? Как правильно прописать? Как применять макрос в данном случае?

Отправлено: 15:32, 18-04-2013 | #8



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2007 - [решено] Excel | Замена данных в гиперссылке

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2003/XP/2000 - Excel. Вопрос по копированию данных MAFY Microsoft Office (Word, Excel, Outlook и т.д.) 2 06-05-2010 05:04
2003/XP/2000 - Excel | Пустые значения в ряду данных графика AlexM Microsoft Office (Word, Excel, Outlook и т.д.) 0 06-02-2010 07:17
MsOffice | Макросы Excel, база данных sitaka Программирование и базы данных 2 08-09-2006 20:13
Восстановление данных Excel, ошибочно записанных другими vagner_HATE Microsoft Windows 2000/XP 1 10-07-2006 11:27
Excel. не работает преобразование типов данных. deni5 Программирование и базы данных 2 26-01-2004 21:55




 
Переход