Private Sub CommandButton1_Click() Dim ws As Worksheet, R As Range, wt1 As String, wt2 As String Dim cells1 As Range, hp As Hyperlink, i As Long Dim search_what As String, replace_with As String i = 0 wt1 = Script.cells(3, "B").Text 'Диапазон - начало "G1" wt2 = Script.cells(4, "B").Text ' Диапазон - конец "G4" On Error GoTo err1 Set ws = Workbooks(Script.cells(1, "B").Value).Worksheets(Script.cells(2, "B").Value) Set R = ws.Range(ws.Range(wt1), ws.Range(wt2)) On Error GoTo 0 search_what = Script.cells(5, "B").Text replace_with = Script.cells(6, "B").Text For Each cells1 In R For Each hp In cells1.Hyperlinks wt = hp.Address If InStr(wt, search_what) > 0 Then i = i + 1 wt = Replace(wt, search_what, replace_with, , 1) hp.Address = wt Next hp, cells1 Script.cells(7, "B").Value = i 'Кол-во замен MsgBox "Операция завершена успешно", vbExclamation, "Ку!" Exit Sub err1: MsgBox Err.Description, vbCritical, "Проверьте вводимые данные" If Err.Number = 9 Then MsgBox "Похоже, что не найдена книга или страница в ней", vbInformation End Sub |