Макрос для виправлення пошкоджених гіперпосилань у всій книзі excel, макроси для excel

А ви впевнені, що у вас на аркуші саме гіперпосилання (сині, підкреслені), а не формули, наприклад?

Натисніть Ctrl + H (діалогове вікно пошуку і заміни),
в поле «Що замінювати» введіть AppData \ Local \ LocalSettings \ AppData \ Local \ LocalSettings \ Temp
в поле «На що замінювати» введіть Ok!
і натисніть «Замінити все»


треба буде написати

Sub ZamenaIsporchennihGiperssilok ()
On Error Resume Next
Dim hl As Hyperlink, oldString As String, newString As String, sh As Worksheet
'Part of hyperlink, which you want to change
oldString = "D: \ Нормативно технічна база \ Типові матеріали для проектування \ Типові серії \ AppData \ Local \ LocalSettings \ AppData \ Local \ LocalSettings \ Temp"
'To what to change
newString = "D: \ Нормативно технічна база \ Типові матеріали для проектування \ Типові серії \ Ok!"
For Each sh In ActiveWorkbook.Worksheets 'перебираємо всі листи в активній книзі
For Each hl In sh.Hyperlinks 'перебираємо всі гіперпосилання на аркуші
If hl.Address Like oldString "*" Then
hl.Address = Replace (hl.Address, oldString, newString)
End If
Next
Next sh
End Sub

Однак позитивних ознак роботи не подав.

Ну можна "виділити" так рядка - ось тільки чи потрібно?
Якщо ви не знаєте, навіщо це «виділення» - навіщо його робите?
Це точки зупину макросу. Воно вам треба, щоб макрос зупинявся на кожному рядку?

Код один раз спрацював - значить, проблема точно не в ньому.
Шукайте проблему відповідно шляху гіперпосилань, і текст для заміни в макросі.
І прибирайте все червоні точки (і не ставте їх надалі)

Скажіть будь ласка - скрипт спрацював лише раз. Потім чомусь перестав працювати. Я зайшов в "Увійти" в макроси і там можна виділити всі рядки червоним (червона точка і червона лінія), крім Dim hl As Hyperlink, oldString As String, newString As String, sh As Worksheet. На неї так само не можна перетягнути стрілку дебага. Тобто я так зрозумів скрипт стопориться на ній. Хоча 1 раз скрипт точно спрацював. Я зберіг документ, потім його трохи перемістили, я змінив скрипт знову як треба (тобто місця папок призначення) і він перестав працювати.

Величезне спасибі! Дуже допомогло! Можна сказати, врятувало від кари боса)))!

В меню "Зміна Гіперпосилання" зліва є можливість вибору:
Зв'язати з:
- файлом, веб-сторінкою;
- місцем в документі;
- новим документом;
- електронною поштою.
Ти не помилився.