Войти

Показать полную графическую версию : [решено] Excel | Замена данных в гиперссылке


malkinfedor
09-06-2010, 19:56
Вопрос таков:
есть таблица, в ней есть столбец с гипер-ссылками на файлы и папки которые находятся в сети, например \\notebook8\distr.
Так вот, хочу я эти файлы с папками переместить на сервер, в таблице соответственно нужно поменять ссылки с notebook8 на server.
Подскажите как это сделать, уже нет мочи больше в одиночку бороться.

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

Morpheus
09-06-2010, 20:16
malkinfedor, Ctrl+H.

malkinfedor
09-06-2010, 20:25
К сожалению не все так просто, когда выделяешь эту ячейку с гиперссылкой, то в строке формула только то что написано в самой яячейке а не адрес куда ссылается эта ссылка.

Morpheus
09-06-2010, 21:33
malkinfedor, нашел макрос. У меня 2010 Office, но в 2007 должно быть примерно так же:

Файл ---> Параметры ---> Настройка ленты ---> ставим флажок "Разработчик" ---> OK.
Разработчик ---> Макросы ---> задаём имя, например: "lnk" ---> Создать.
Копируем текст макроса:
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
Сохраняем и закрываем окно.
Возвращаемся в таблицу ---> выделяем ячейки со ссылками ---> Макросы ---> Выполнить.

Ссылки должны замениться, текст меняем с помощью Ctrl+H.
Разумеется, тренироваться лучше на копии файла.

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

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

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

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

EPMAKOB
20-01-2011, 10:16
Мне надо было поменять ссылки в двух колонках (в 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

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




© OSzone.net 2001-2012