Единственный способ сделать это с помощью макроса:
Public Sub ReplaceHyperlinkURL(FindString As String, ReplaceString As String)
Dim LinkURL, PreStr, PostStr, NewURL As String
Dim FindPos, ReplaceLen, URLLen As Integer
Dim MyDoc As Worksheet
Dim MyCell As Range
On Error GoTo ErrHandler
Set MyDoc = ActiveSheet
For Each MyCell In MyDoc.UsedRange
If MyCell.Hyperlinks.Count > 0 Then
LinkURL = MyCell(1).Hyperlinks(1).Address
FindPos = InStr(1, LinkURL, FindString)
If FindPos > 0 Then 'If FindString is found
ReplaceLen = Len(FindString)
URLLen = Len(LinkURL)
PreStr = Mid(LinkURL, 1, FindPos - 1)
PostStr = Mid(LinkURL, FindPos + ReplaceLen, URLLen)
NewURL = PreStr & ReplaceString & PostStr
MyCell(1).Hyperlinks(1).Address = NewURL 'Change the URL
End If
End If
Next MyCell
Exit Sub
ErrHandler:
MsgBox ("ReplaceHyperlinkURL error")
End Sub
Код ReplaceHyperlinkURL должен быть помещен в модуль кода VBA. В электронной таблице нажмите Alt+F11, чтобы открыть редактор VBA. Затем выберите Вставка - Модуль из меню. Скопируйте код и вставьте его в модуль. Затем сохраните модуль.
Чтобы запустить процедуру, создайте макрос, который содержит следующую строку, и запустите макрос в Excel. Обязательно замените FindText на часть адреса, которую вы хотите найти, а ReplaceText - на текст, которым вы хотите его заменить.
Вызовите ReplaceHyperlinkURL("FindText", "ReplaceText")
Источник