Страницы: Пред. 1 2
RSS
массовое изменение адресов гиперссылок в книге
 
4vaker, я Вам формулу написал, которая месяц берёт из даты и не надо все замены делать. Что Вам не так в ней?

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
4vaker пишет: ничего не происходит, как был август так и остался.
ну я же написал, что ничего не происходит, потому что макрос, который вы взяли, заменяет адреса гиперссылок, а не адреса ссылок в формулах
F1 творит чудеса
 
Цитата
4vaker пишет: Если я жму "ЗАМЕНИТЬ ВСЕ", то плевать, что я выделил эти 10 ячеек, он меняет ПОЛНОСТЬЮ ВСЕ ЗНАЧЕНИЯ НА ЛИСТЕ.
не удается повторить это, как ни стараюсь. проверьте ниже в картинке, у вас всё так?
см.картинку
F1 творит чудеса
 
JayBhagavan, простите, пропустил Ваше сообщение. Щас соберу всё в кучу, уже голова кругом от этих экселей.

Максим Зеленский, вот смотрите
 
4vaker, 20 замен потому, что в формуле месяц ДВА раза повторяется. Отсюда 10 ячеек на 2 месяца = 20 замен. Всё верно. Что не так?

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan,туплю немного, простите, а чтобы месяц брался из даты, необходимо, чтобы формат ячейки с датой был "дата" ?
 
4vaker, нет. Нужно чтобы там было число, а не текст. Внешний вид значения не имеет - имеет значение суть. Дата в примере является числом. Если дата будет текстом, то данная формула работать не будет. Но так не должно быть.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Хвала вам, боги экселя!!
Воспользуюсь вашими советами.
 
День добрый, прошу хелпа , встречаюсь уже не первый раз с такой проблемой :
C:\Users\Users\Documents\Заказы\- здесь лежат папки, на которые в листе 2003-го экселя у меня находятся гиперссылки. Гиперссылки создавал правой кнопкой .
что-то сбивается в процессе автосохранения похоже и  начальная часть имени ссылки меняется на вот такое :
C:\Users\Users\AppData\Roaming\Microsoft\Documents\Заказы\

таких гиперссылок уже больше 200 и удалять часть имени вручную долго .... кто знает как это сделать ?
P.S. чайник в макросах , но уже пытался через alt+F11 поменять в имени листа (открывается окно MVB)
дальше тыркнул в лист и у меня открывается окно General и  Worksceet слева и Deklaration и FixHiperlinks справа ...
в Genera вставлял вот это :
Sub Replace_Hyperlink_inShape()
   Dim oSh As Shape, sWhatRep As String, sRep As String
   Dim s As String

   sWhatRep = InputBox("Что меняем?", "Ввод данных", "Users\Users\AppData\Roaming\Microsoft\Documents\Заказы\)
   sRep = InputBox("На что меняем?", "Ввод данных", "Users\Users\Documents\Заказы\")
   
   On Error Resume Next
   For Each oSh In ActiveSheet.Shapes
       s = ""
       s = oSh.Hyperlink.Address
       If s <> "" Then
           oSh.Hyperlink.Address = Replace(oSh.Hyperlink.Address, sWhatRep, sRep)
       End If
   Next
End Sub

ничего не меняется после закрытия всех этих окон ...
что я не так делаю .. всю голову уже сломал ??? Подскажите кто разбирается пожалуйста .
 
День добрый , подскажите люди добрые ... меняется текст адреса гиперссылки ... см в скринах ... не могу исправить ... в макросах я чайник , но тут почитал текст выше и попытался применить это ... но то ли что-то делаю не так , то ли этот макрос потом еще запустить надо .... в общем не получается пока ничего ..
вот что делаю не так ?  
 
Мишаня, код следует оформлять соответствующим тегом: ищите такую кнопку (см. скрин) и исправьте своё сообщение.
И Вы на самом деле думаете, что по фото можно вылечить?
 
ну проблему то я описываю как могу ... мне нужно массово ( в одном столбце ) поменять часть адреса гиперссылки ( на файлы ) ....
вот что я пытался сделать ... но то ли я его не правильно прописываю то ли не запускаю ...
Sub Replace_Hyperlink_inShape()
   Dim oSh As Shape, sWhatRep As String, sRep As String
   Dim s As String

   sWhatRep = InputBox("Что меняем?", "Ввод данных", "Users\Users\AppData\Roaming\Microsoft\Documents\Заказы\)
   sRep = InputBox("На что меняем?", "Ввод данных", "Users\Users\Documents\Заказы\")
   
   On Error Resume Next
   For Each oSh In ActiveSheet.Shapes
       s = ""
       s = oSh.Hyperlink.Address
       If s <> "" Then
           oSh.Hyperlink.Address = Replace(oSh.Hyperlink.Address, sWhatRep, sRep)
       End If
   Next
End Sub

какую кнопку ? где сам скрин?
Страницы: Пред. 1 2
Наверх