1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Private Sub DeleteAllHyperlinks() With ThisWorkbook . Worksheets( 1 ) If Not .ProtectContents Then Dim iCell As Range: .Hyperlinks . Delete Set iCell = .UsedRange . Find(What:="=HYPERLINK(*)", _ LookIn:=xlFormulas, LookAt:=xlWhole, MatchCase:= True ) Do Until iCell Is Nothing iCell . Style = "Normal" iCell . Value = iCell . Value Set iCell = .UsedRange . FindNext Loop Else MsgBox "Снимите защиту листа", vbExclamation, "" End If End With End Sub Удаление гиперссылок не приводит к удалению текста гиперссылок. Если такое положение вещей недопустимо, то используйте перебор всех гиперссылок, только учтите, что гиперссылка может быть связана не только с ячейкой, но и с автофигурой/рисунком. Если гиперссылок, созданных с использованием стандартной функции рабочего листа =ГИПЕРССЫЛКА() может быть довольно много и/или Вы используете событие Worksheet_Change() (или аналогичное событие рабочей книги, приложения), а также Volatile функции, то в этом случае, имеет смысл использовать свойства ScreenUpdating, EnableEvents, Calculation объекта Application. Пример их использования можно увидеть здесь. |