(This is my first posting, so I apologise in advance if there are formatting problems.)
Not sure if you want to go to this extent, however, something along these lines provides you a little more flexibility:
[vba]
Public Sub DeleteBrokenHyperlinks()
Dim test As Boolean
Dim count As Integer
count = 0
test = True
On Error GoTo OnError
For Each h In ActiveSheet.HyperlinksIf Dir(h.Address) = "" Then
MsgBox h.Name & vbCr & _
h.Address & vbCr & _
h.SubAddress & vbCr & _
"in cell " & h.Range.Address & vbCr & _
"link path does not exist"
test = False
response = MsgBox("Do you want to delete this link?", vbYesNo)
If response = vbYes Then
Range(h.Range.Address).Hyperlinks(1).Delete
Application.StatusBar = False
Exit Sub
End If
End If
count = count + 1
Application.StatusBar = "Links checked: " & count
Next
If test Then MsgBox "All Hyperlinks test ok"
Application.StatusBar = False
Exit Sub
OnError:
MsgBox ("Error with: " & h.Name & vbCr & "File not found.")
Application.StatusBar = False
End Sub
[/vba]