Q: Как на VBA обновить все ссылки на файлы в случае переноса файлов в другую директорию?
A: В принципе, не сложно, только постарайтесь не ошибиться в строках, которые меняете. Протестируйте не столько макрос, сколько себя.
Создайте линк на какой-либо файл. Перенесите файл в другую директорию. Поставьте правильно строки для замены. Запустите макрос.
Проверьте, открывается ли файл. Если открывается, то всё в порядке. Если нет, посмотрите внимательнее на заменяемый и заменяющий пути.
Sub ChangeHyperLinks()
Dim oldAddr As String, newAddr As String
oldAddr = "Внесите сюда старую часть адреса файла, которую нужно поменять, например \\oldServer"
newAddr = "Внесите сюда новую часть адреса файла, на которую нужно поменять, например \\newServer"
Dim hprLnk As hyperLink
Dim wSheet As Worksheet
' Вызывайте макрос на том листе, на котором нужно поменять гиперссылку
Set wSheet = ActiveCell.Worksheet
For Each hprLnk In wSheet.Hyperlinks
hprLnk.Address = Replace(hprLnk.Address, oldAddr, newAddr)
Next hprLnk
MsgBox "Линки на текущем рабочем листе обновлены."
End Sub